[ ultradisaster @ 30.03.2005. 22:36 ] @
Ovako treba mi pomoc oko jednog zadatka, to jest vise objasnjenje? Posto se do sad nisam nesto posebno bavio pascal-om. Ovako radi se o nizovima i zadatak glasi

Dat je niz od 10 clanova koji su celi brojevi izracunaj zbir clanova tog niza?

Code:
Program vezba1 (input, output);
type
niz:=array [1.. 10] of integer;
var
i, suma:integer;
a:niz;
begin 
writeln ('unesite clanove niza');
for i:= 1 to 10 do
read (a[i]);
suma:=0;
for i:= 1 to 10 do
suma:= suma + a[i];
writeln ('Zbir clanova je',suma);
end



sad nije mi bas najjasnije koju ulogu vrsi suma? I koji je postupak citanja clanova od 1 do 10 npr?
[ Srki_82 @ 30.03.2005. 22:56 ] @
Suma je... pa... suma tj. zbir :)

Unos podataka se vrsi komandom Read. Prva for petlja poziva 10 puta Read i rezultat smesta u niz.
Code:

for i:= 1 to 10 do
read (a[i]);

Zatim se suma postavlja na vrednost 0 i zatim joj se dodaju vrednosti iz niza.
Code:

suma:=0;
for i:= 1 to 10 do
suma:= suma + a[i];

To je sva mudrost zadatka.
[ ultradisaster @ 30.03.2005. 23:15 ] @
Pa da tako sam i mislio, ali izgleda da mi je onda problem kada pokrenem program i upisem bilo koji broj i onda enter nista se ne desava tako mogu vise brojeva i opet nista, mislim trebalo da mi izbaci vrednost sume?
[ Srki_82 @ 30.03.2005. 23:46 ] @
Kad budes uneo svih 10 brojeva ispisace ti vrednost sume. Koliko znam prozorcic ce se odmah zatvoriti pa neces videti rezultat zato pre end. dodaj jos jednu liniju ReadLn.
[ Toyo @ 31.03.2005. 02:45 ] @
Citat:
sad nije mi bas najjasnije koju ulogu vrsi suma? I koji je postupak citanja clanova od 1 do 10 npr?


Read(nesto) nije naredba za citanje, vec za unos brojeva preko tastature. :) (e, sad sam lupio, al kako da objasnim drugacije... read jeste citanje, ali ne niza u zagradama, nego sa ulaza, i taj ulaz se smesta u niz u zagradama).
Znaci da program ceka da uneses 10 brojeva, koje ce stavljati redom u niz od a[1] do a[10] (posto i ide od 1 do 10).

Greska koja se nalazi tamo je da umesto read, treba da stoji readln.

Ovaj drugi deo ti postavlja sumu na 0. Pocinje sa a[1] i ide do a[10] i sve brojeve "trpa" u onu sumu (koja je na pocetku bila 0).
Zatim ispise "zbir clanova ku..., palac" = neki broj

U kodu imas 2 greske, zbog kojih ne verujem da si pisao kod i probao.
Zbog ove druge bi ti javio error. (fali tacka na zadnjem end).

Drugi put nemoj da prepisujes iz sveske nego se malo potrudi.




[ Goran1987 @ 31.03.2005. 23:50 ] @
Nije ti potrebno dvije for petlje.Dovoljna ti je samo jedna:
...
Code:

...
suma=0;
for i:=1 to 10 do
begin
write('a=');readln(a[i]);
suma=suma+a[i];
end;
writeln('suma=',suma:2:3)
end.


[Ovu poruku je menjao Goran1987 dana 02.04.2005. u 00:47 GMT+1]
[ Goran1987 @ 01.04.2005. 23:42 ] @
[ Goran1987 @ 01.04.2005. 23:45 ] @
[ misa vranje @ 04.04.2005. 23:26 ] @
Stvarno mi nije jasno zasto to radite uz pomoc nizova kad moze i bez njih:

Program open_your_mind;
var
a,suma,i:integer;
begin
suma:=0;
for i:=1 to 10 do
begin
write('Unesi element broj ',i,':');
readln(a);
inc(suma,a);
end;
writeln('Zbir ta 10 elementa je ',suma);
end.
[ Srki_82 @ 04.04.2005. 23:38 ] @
Radi se sa nizovima jer zadatak glasi
Citat:
Dat je niz od 10 clanova koji su celi brojevi izracunaj zbir clanova tog niza?

Samo zato