• 6 odgovora
  • 2.950 pregleda
[nastavak] pomoc u c++ 27.05.2007. u 21:59 · pre 236 meseci #1

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.
Re: [nastavak] pomoc u c++ 27.05.2007. u 22:05 · pre 236 meseci #3
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]
Re: [nastavak] pomoc u c++ 27.05.2007. u 23:46 · pre 236 meseci #4
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];
Potpis
[email protected]
Re: [nastavak] pomoc u c++ 28.05.2007. u 07:07 · pre 236 meseci #6
angilia,

Pokrenula si temu iz 2001 godine.

Za novo pitanje treba uvek da se otvori nova tema.
Re: [nastavak] pomoc u c++ 31.05.2007. u 08:21 · pre 236 meseci #7
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 ;).
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme