| claudiu97 a întrebat:

Am si eu o nedumerire. Maine dau teza la informatica si nu am inteles probremele cu siruri adica: a1, a2, a3,...an. De exemplu daca am a1, a2, a3,...an ce citesc in algoritm? Si inca o problema: Se da un sir de numere naturale a1, a2, a3,..an. Sa se afisezetoate numerele al caror prima cifra se divide la 2! Imi puteti da un exemplu de algoritm pentru aceasta problema? Multumesc anticipat! dau funda!

Răspuns Câştigător
| DDCC a răspuns:

Pai daca iti da cu sir atunci ai termeni deci cunosti n-ul.
Parcurgi cu o variabila i spre exemplu i de la 1 la n si citesti fiecare numar in parte. ex:
pentru i:=1, n executa inceput scrie (a[i]=' ); citeste(a[i]); sfarsit;(in Pascal for i:=1 to n do begin writeln('a[i]='); readln(a[i]); endwinking la a doua citesti ca la prima iar ca sa scoti faci asa: pentru i:=1, n executa inceput citeste a[i]; b:=a[i]; cat timp b0 executa nr:=b mod 10 b:=b div 10; sfasit; scrie(nr); sfarsit. a[i] inseamna a i doar ca in Pascal asa se scrie.

6 răspunsuri:
| AndreiDr a răspuns:

O rezolvati in vectori? cu tablouri unidimensionale?

| claudiu97 explică (pentru DDCC):

Deci daca avem sirul a1, a2, a3, ..an, se citeste n nu? adica in pascal va veni la antent var n:integer(sau oricealtceva), nu?

| DDCC a răspuns (pentru AndreiDr):

Pai cum altfel poti sa o rezolvi?big grin E singura modalitate. Nu au cum sa nu faca cu vectori.

| DDCC a răspuns (pentru claudiu97):

Da, doar ca vezi ca la antet pui a:array[1.50] of integer; i, b:integer; ca am mai pus valori big grin. Pai trebuie citit n ca altfel nu ai de unde sa stii cati termeni ai. Doar daca citesti dintr-un fisier pui cu while not(eof) daca nu ti se da nr de termeni. Dar voua nu va trebuie cu fisiere. Sper ca ai inteles.

| AndreiDr a răspuns (pentru DDCC):

Totusi pui type a=array[1.50] of integer;

| DDCC a răspuns (pentru AndreiDr):

Nu neaparat. var a:array[1.50] of integer este de tip anonim. Trebuie sa faci cum ai zis tu doar la subprograme, acolo nu te lasa cu anonim. In principiu cand studiezi tablourile unidimesionale si cele bidimensionale(MATRrici) faci ce ai zis. dar corect este type vector=array[1.50] of integer; var a:vector; Asta faci la record(inregistrari); Acum fiecare cum vrea, sunt mai multe modalitati insa mai bine stii una si bine decat mai multe si mai greu, parerea mea.