Šta je novo?
SerbianForum

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

C jezik, nizovi, pomoc

  • Začetnik teme petarzaric
  • Datum pokretanja
P

petarzaric

Član
#1
pozdrav ljudi
imam problem
pokušavam napraviti program koji će od unijetih 10 brojeva ispisati koji je najmanji, najveći, sumu tih svih brojeva, te onda da ispiše parne brojeve i na kraju sumu tih parnih brojeva
ja sam nešto napravio ali sad imam problem kod ovih parnih brojeva
kod izgleda ovako

#include <stdio.h>


void main ()
{
int i,sum,broj,min,max,parni;
printf("\nUpiši 1. broj = ");
scanf ("%d", &broj);
sum=broj;
min = broj;
max = broj;
parni=broj;



for (i=2; i<=10; i++)
{
printf ("\nUpiši %d.broj = ", i);
scanf ("%d", &broj);
parni=min;


sum=sum+broj;
if (broj > max)
max = broj;

if (broj < min)
min = broj;
}

do
{
if(parni%2==0)
{
printf("%d\n", parni);
}
parni++;
}while (parni<=max);



printf("\nNajmanji broj je %d", min);

printf("\nNajveci broj je %d", max);


printf("\nSuma je %d", sum);


return;
}


problem je u tome što ja sad ne znam kako da izvedem sumu od tih parnih brojeva
i još jedan problem je taj što kad upišem neke brojeve npr 200, 500 ,1000..
on izbacuje parne brojeve skroz od 200 pa do 1000..
sta da izvedem da mi izbacuje brojeve koje sam prethodno unio u niz.. ? ?
imajte razumijevanja početnik sam.
pozdrav
 
Exodia Destroyer

Exodia Destroyer

Član
#2
Tvoj program ti ispisuje uglavnom (kazem uglavnom zato sto se mogu uneti takvi brojevi da ovo ne vazi) sve parne brojeve od minimuma do maksimuma (kao sto si ti rekao ako uneses 200 i on bude min i 1000 i on bude max, tvoj program ce upravo to uraditi).
To se desava zato sto u pocetku u promenjivu parni postavljas min i onda koristis do-while petlju koja ide sve dok ne dodjes do max.

U tekstu kazes da zelis
  1. najmanji
  2. najveći
  3. sumu tih svih brojeva
  4. ispiše parne brojeve
  5. na kraju sumu tih parnih brojeva
pa tako i radi...a ne da prvo stampas parne a tek onda max i min...
Ako zelis da prvo stampas najmanji i najveci pa sumu i tek onda parne brojeve onda ih moras (parne brojeve) cuvati negde do tada (jer da bi odredio prve tri stvari moras uneti sve brojeve).
To mozes uraditi ne vise nacina...ako znas sta je niz onda mozes da ih smestis u jedan niz i nakon toga da ih odatle stampas ili da napravis jednu string promenjivu u koju ces da upisujes parne brojeve kada na njih naidzes i na kraju samo da je istampas.



Zakljucak:
  • do-while ti nije potrebna
  • nemas promenjivu u koju ces da racunas sumu parnih brojeva
  • u for petlji umesto "parni=min;" napisi da proveri da li je boj paran
    • ako jeste da ga doda u sumu parnih bojeva (ne u sum koja ti racuna sumu svih brojeva nego u sum_parnih)
    • i da ga doda u niz ili string
Probaj da napises sad ispravan kod i postavi da vidimo kako ti ide
 

Top