[ kvaju @ 06.04.2009. 19:11 ] @
nemogu nikako da shvatim ove nizove
Napisati kod za program koji omogucava unos n clanova niza te pronalazi i ispusuje najveci clan i prosjek svih brojeva!
moze pomoc samo kako da pocnem. hvala.
[ X Files @ 06.04.2009. 19:43 ] @
// NETESTIRANO
Code:

/*
    Napisati kod za program koji omogucava unos n clanova niza
    te pronalazi i ispusuje najveci clan i prosjek svih brojeva!
    moze pomoc samo kako da pocnem. hvala.
*/

#include <stdio.h>
#include <stdlib.h>

#define MAX_ELEMENATA 100

int main(void)
{
    int A[MAX_ELEMENATA], n, max, i, suma=0;

    /* unos broja clanova niza, uz proveru dozvoljenih granica */
    do
    {
        printf( "Unesite broj clanova niza N: " );
        scanf( "%d", &n );
    } while ( n<1 || n>MAX_ELEMENATA );

    for ( i=0; i<n; i++ )
    {
        /* unesi trenutni element */
        printf( "Unesite %d. element niza, A[%d]=", i+1, i );
        scanf( "%d", &A[i] );

        /* inicijalizuj MAX samo u prvom prolazu, kasnije se ovo ne izvrsava */
        if ( i == 0 )
            max = A[i];

        /* odredjuj max */
        if ( A[i] > max )
            max = A[i];

        /* racunaj sumu, zbog proseka */
        suma += A[i];
    }

    printf( "PROSEK UNETIH BROJEVA JE %d/%d=%.2f\n", suma, n, (float)suma/(float)n );
    printf( "NAJVECI JE BROJ %d\n", max );

    return 0;
}


Inace, max se moze racunati i na druge nacine.

Na primer, moze se ukljuciti biblioteka #include "limits.h" u kojoj su pored ostalog definisani INT_MIN, i INT_MAX.
Onda se max inicijalizuje sa INT_MIN (pesimisticki), van petlje naravno:
Code:

max = INT_MIN;

... nakon cega nije potreban ovaj deo u petlji:
Code:

/* inicijalizuj MAX samo u prvom prolazu, kasnije se ovo ne izvrsava */
if ( i == 0 )
    max = A[i];



itd...



[Ovu poruku je menjao X Files dana 07.04.2009. u 19:35 GMT+1]
[ Gastone @ 16.04.2009. 14:25 ] @
radi sve ok dok se unose brojevi, i cim unesem zadnji broj onda samo izbaci :(
[ X Files @ 16.04.2009. 15:09 ] @
http://www.elitesecurity.org/t260467-0#1572553
[ Gastone @ 16.04.2009. 16:38 ] @
puno hvala, jos sam amater sto se tice C++ a al trudim se :)
[ Gastone @ 20.04.2009. 11:38 ] @
ovo omogucava unos n clanova niza
moze mi netko napisat samo kod sto vec unaprijed odredjiva koliko clanova niza
npr 10 clanova niza.

hvala
[ X Files @ 20.04.2009. 18:02 ] @
To bi vec trebao i sam da zakljucis.

Dakle:

- fiksirati broj elemenata:
Umesto:
Code:

#define MAX_ELEMENATA 100

Stavi:
Code:

#define BROJ_ELEMENATA 10


- izbaciti promenljivu n iz deklaracije i korigovati define konstantu:
Umesto:
Code:

int A[MAX_ELEMENATA], n, max, i, suma=0;

Treba da stoji:
Code:

int A[BROJ_ELEMENATA], max, i, suma=0;


- potpuno izbaciti unos:
Code:

/* unos broja clanova niza, uz proveru dozvoljenih granica */
do
{
    printf( "Unesite broj clanova niza N: " );
    scanf( "%d", &n );


- Dole, gde god vidis promenljivu n, zameni je konstantom BROJ_ELEMENATA