[ angilia @ 27.05.2007. 21:59 ] @

Zna li ko da mi resi ove zadatke trebaju mi za sutra. Ali samo uz pomoc ovih naredbi posto smo samo njih ucili #include<stdio.h>, include<math.h>, float, scanf, int, for, if, else, main(), printf.
C++. Tek sam pocetnik.
1. Dat je realan niz A od n elemenata. Napisati program koji izracunava najmanji i najveci element
niza A.
2. Dat je realan niz A od n elemenata. Napisati program koji izracunava zbir pozitivnih i zbir
negativnih elemenata niza A.
[ angilia @ 27.05.2007. 22:00 ] @
Trebalo bi da je nesto ovako za 1. ali gresim negde.
[ angilia @ 27.05.2007. 22:05 ] @
EDIT: X Files : Molim Vas da zbog preglednosti, kod upisujete između tag-ova predviđenih za to:

[code]
int main ( int argc, char *argv[] )
{
// ...
return 0;
}
[/code]

Code:

#include<stdio.h>
main()
{
int i, n, max, min;
float a[50];
printf("\nUpisite vrednost za n:");
scanf("%d", &n);

printf("\nUpisite vrednosti elementa niza A:\n");

for (i=0; i<n; i++)
if (max<i)max=i;
printf("n\Najveci element niza je %d.\n", max);

for (i=0;i<n; i++)
if (min>i) min=i;
printf("\nNajmanji element niza je %d.\n", min);
return 0;
}


[Ovu poruku je menjao X Files dana 28.05.2007. u 08:12 GMT+1]
[ Buffy @ 27.05.2007. 23:46 ] @
Koliko vidim, nisi inicijalizovala max i min promjenljive.
Dakle c(++) se ne ponasa kao pascal ili npr. basic, odnosno ne vrsi automatsku inicijalizaciju( da postavlja vrijednost promjenljive na nulu), vec samo rezervise dio memorije nemjenjajuci pritom vrijednost memorijske lokacije.
Dakle:
Code:

int max=0;

for (i=0;i<n;++i) 
    if( niz[i]>max) max=niz[i];

Slicno i za min:
Code:

int min= MAX_INT_SIZE;

for (i=0;i<n;++i) 
    if( niz[i]<min) min=niz[i];
[ Buffy @ 27.05.2007. 23:52 ] @
Pa zasta ti sluzi niz a???
Njega uopste ne koristis.
[ X Files @ 28.05.2007. 07:07 ] @
angilia,

Pokrenula si temu iz 2001 godine.

Za novo pitanje treba uvek da se otvori nova tema.
[ itf @ 31.05.2007. 08:21 ] @
Citat:
Buffy: Koliko vidim, nisi inicijalizovala max i min promjenljive.
D...
Code:

int max=0;
....

int min= MAX_INT_SIZE;


Krivim principom su inicijalizirane varijable max i min. U prvom slučaju, možda su svi brojevi u polju negativni, a zbog

Code:
int max = 0;


program će ispisati da je najveći 0.. a to nije točno. Pravilno bi bilo,

Code:
int max = niz[0];
for (i=1;i<n;i++) 
    if( niz[i]>max) max=niz[i];


isto i za min:

Code:
int min = niz[0];
for (i=1;i<n;i++) 
    if( niz[i]<max) max=niz[i];


gdje nema potrebe za uvođenjem ikakvih konstanti poput MAX_INT_SIZE, koji je u ovom slučaju i pogrešno postavljen ;).