[ milos 2 @ 11.05.2009. 13:40 ] @
verovatno sam postao dosadan sa pitanjima, ali moram da pitam, jer ne znam da uradim, a treba mi hitno do cetvrtka.

u stvari ja imam 10 zadataka da uradim, ali svaki se vrti oko istog, samo nizovi brojeva i njihoivo sabiranje, sto u opste ne shvatam, kako se moze sabrati beskonacan niz, ali ok, ja znam nesto da pocnem oko ovog jednog programa, ali ne znam da nastavim koliko god se trudio:

napisati c program koji na osnovu unetog broja n izracunavaju zbir: s=13+23+33+...+n3

glavni deo koda bi trebalo da izgleda ovako:
Code:

s=0
i=1
for(;i<n;i++)


verovatno gresim
[ milos 2 @ 11.05.2009. 16:36 ] @
ovaj sam nekako uspeo da resim, ali ovaj ne mogu:

napisati c program koji utvrdjuje koliko brojeva redom od pocetka niza treba sabrati pa da zbir bude veci od unetog broja a
niz ima sledeci izgled 12, 12+22, 12+22+32, 12+22+32+42,...
[ GORSHTAK @ 12.05.2009. 22:36 ] @
int a, i=1, brojac=0, suma=0;
..........
while(1)
{
suma += i*i;
brojac++;
i++;
if (suma<a)
break;
}
[ Wajda.W @ 13.05.2009. 15:57 ] @
Citat:
GORSHTAK: int a, i=0, brojac=0, suma=0;
..........
while(1)
{
suma += i*i;
brojac++;
i++;
if (suma<a)
break;
}


Ok je ovo mada si promasio relaciju, treba > a i to nije pravilan pristup, nije bas strukturirano programiranje...
Bolje da taj uslov stoji u while,a i brojac promenljiva dodje nekako visak, recimo ovako:

Code:


int a, i=0, suma=0;
while(suma<a)
{
i++;
suma += i*i;
}

posle se u i nalazi koliko brojeva redom od pocetka niza treba sabrati pa da zbir bude veci od unetog broja a...

pozdrav
Vajda
[ GORSHTAK @ 14.05.2009. 18:11 ] @
Xmmm, da, zeznuo sam se u if-u, ko zna šta mi je bilo u glavi tada ionako sam pisao u letu bez provere.
Inače, namerno sam napisao ovakvu petlju da bi se postepeno videli koraci, da li je trebalo tako da uradim ili ne to je već stvar diskusije.
A zadatak je toliko lak da se rešava u jednoj liniji:
Code:

while((suma+=i*i++)<a);

pa ko razume (i ovo sam pisao u letu)

PS: miloše, izvini ako si dobio slabiju zbog moje omaške
[ sanja2010 @ 14.05.2009. 18:47 ] @
Nije ni to dobar pristup, ne treba clan niza da bude veci, nego suma clanova :) Ili sam mozda ipak ja lose razumela ;)
Code:

int a, i = 0, suma = 0; tmp = 0;
while(suma < a) {
   i++;
   tmp += i*i;
   suma += tmp;
}
[ milos 2 @ 14.05.2009. 20:17 ] @
nisam dobio slabiu ocenu, jer treba da uradim 10 zadataka, znam sta program treba da radi, ali ne znam sta treba da iskucam, i zahvaljujuci svima vama, ja sam uspeo da uradim pored ovog jos jedan zadatak, i dva sam uradio sam, tako da mi ostaje jos sest zadataka iz ciklusa
hvala vam svima na pomoci, nadam se da ce te biti voljni i da mi pomognete ako opet negde ne budem znao sta treba da radim