Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc - nedovrsen zadatak i provera, btw

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc - nedovrsen zadatak i provera, btw

[ Pregleda: 3866 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon pomoc - nedovrsen zadatak i provera, btw10.04.2006. u 12:46 - pre 219 meseci
evo opet mene sa problemcicem, ali za razliku od proslog puta ovaj puta sam poceo da radim sam!! ali ne znam kako da zastitim niz od unosa ocena manjih od 1 i vecih od 5, i kako da ispisem broj ucenika koji imaju ocenu vecu od prosecne!? danas su vezbe, tako da je svaka pomoc u poslednji cas dobrosdosla... hvala

/*program racuna prosecnu ocenu razreda (25<n<31) i stampa broj ucenika cija je ocena veca od prosecne ocene razreda*/

#iclude <stdio.h>
#define MAX_NIZ 30

main()
{
/*definicija promenljivih i inicijalizacija niza*/
int n,i,s,x[MAX_NIZ];
double sr;
for(i=0;i<n;i++) x=0;

/*unos promenljivih*/
do {
printf(“\nbroj ucenika bi trebalo da bude izmedju 25 i 31!”);
printf(“\nbroj ucenika u razredu je:”);
scanf(“%d”,&n);
} while(n<25||n>31);

printf(“\nocene ucenika su:”);
for(i=0;i<n;i++) scanf(“%d”,&x);

for(s=0,i=0,i<n;i++)
{
s+=x;
}
sr=s/n
printf(“\nsrednja ocena razreda od %d ucenika je %.2fl”,n,sr);
}
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw10.04.2006. u 13:57 - pre 219 meseci
Imas dosta gresaka:
Code:
for(i=0;i<n;i++) x=0;

1. n nisi definisao pa se mogu desti razne stvari... predpostavljam da ti je ovo bio cilj n = MAX_NIZ;
2. x je niz pa treba da stavis x[ i ], jer to sto si ti napisao radi nesto drugo.
Code:
for(i=0;i<n;i++) scanf("%d",&x);

3. problem sa nizom kao i pod (2)
Code:
sr=s/n

4. ovo je celobrojno delenja - znaci nista od decimalnih mesta koje si predvideo, a zaboravio si i ; na kraju

Kontrolu opsega ocena i racunanje srednje ocene mozes resiti recimo ovako:
Code:

    printf("\nocene ucenika su:");
    int j=0, suma=0, ocena;
    do {
        scanf("%d",&ocena);
        if (ocena>0 && ocena<6){ // provera opsega ocena 
            x[j] = ocena;
            suma += ocena;
            j++;
        }
    }while (j<n);
    printf("\nsrednja ocena razreda od %d ucenika je %.2f",n, 1.0*suma/n);

ovo: 1.0*suma/n ce ti dati float vrednost za srednj ocenu (vazno je 1.0*)
PS: Gornja provera opsega ocena ne proverava da li je uneta cifra ili slovo ili ...
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
*.ftn.ns.ac.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw10.04.2006. u 14:29 - pre 219 meseci
program mi kaze da definisem s i n u sr=s/n - KAKO???

a sad trazi da izracunamo prosecnu ocenu prvih deset i poslednjih deset ucenika - KAKO???
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw10.04.2006. u 15:11 - pre 219 meseci
Citat:
sr=s/n - KAKO???

Pogledaj predposlednji red moje predhodne poruke, toliko moras da naucis
Citat:
...prosecnu ocenu prvih deset i poslednjih deset ucenika...

Za prvih deset sam nadji resenje.
Za poslednji deset je resenje manje ocigledno - evo ti smernice...
Code:
for (int i=n-1;i>=n-10;i--) s += x[i];


.... ali ovako neces nauciti C, moraces da uzmes knjigu u ruke.
Forum je tu da pomogne, ali ti si jedan deo gradiva preskocio.
idb
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
*.ftn.ns.ac.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw10.04.2006. u 16:04 - pre 219 meseci
dobio sam 9^10, nije lose uradio sam ono sto su trazili sam! jos su trazili da izracunam prosek neparnih ucenika .... hvala u svakom slucaju .... i ovako jos i najbolje ucim C, jer teorija mi nikako nije jaca strana, vise volim da vidim primere!
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw12.04.2006. u 00:32 - pre 219 meseci
ovo je novi zadatak, nesto je tezi (kao), ali je meni VISE tezak

organizator exita zakazuje manifestaciju za sledecu godinu u terminu deset najtoplijih uzastopnih julskih dana tekuce godine. znajuci temperature koje su bile u julu tekuce godine upisane u niz T. znajuci temp koje su bile u julu tekuce godine, napisati c prog koji ce odrediti termine odrzavanja exita sledece godine!

ak neko ima vremena ... ;)
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw12.04.2006. u 09:26 - pre 219 meseci
Mnogo me je ljudi pitalo za ovaj zadatak ovih dana... Svi imaju isti domaći...
Neću da ti radim ceo zadatak jer ćete imati (po mojim procenama) kolokvijum sledeće nedelje, pa vežbaj, ali evo ti bar smernice...

Code:

for (dan=0,  max=0, s=0, i=0; i<n-10; i++) {
    for (j=i; j<i+10; s+=T[j++]);
    s /= 10;
    if (s>max) { max = s; dan = i; s = 0; }
}
printf("Dani su od %d do %d u mesecu!", dan, dan+10);


Nisam trebao ni ovoliko jer ovo ti je praktično najbitniji deo, ostalo su unosti, provere i td, ali kad sam već seo da pišem...

PS: Ovo sam pisao ovako iz glave, znači nije komplajlirano, pa ako ima nekih greškica nemoj zameriti, ili javi ovde pa ćemo popraviti...


[Ovu poruku je menjao del-boy dana 12.04.2006. u 13:31 GMT+1]
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw12.04.2006. u 09:34 - pre 219 meseci
super, del, boy, samo ako mozes da mi pojasnis sta je sta! ispred bi trebao da bude unos, a iza je kraj, ili ...
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw12.04.2006. u 12:30 - pre 219 meseci
Da, ispred treba da ti bude deklaracija promenlivih, unos i inicijalizacija niza itd... A posle ovog koda i nema bog zna šta da pišeš, pošto ti on već vraća gotov rezultat...


Samo obrati pažnu na kod, pre sam bio zaboravio par stvari, pa sam sad ispravio... Možda je ostalo još nešto... Ako uhvatim vremena večeras ću napisati ceo kod pa ću da komajlirati da proverim... Ovako ne mogu sigurno da ti tvrdim da radi, mada bi trebao...



edit - greške u kucanju

[Ovu poruku je menjao del-boy dana 12.04.2006. u 13:41 GMT+1]
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw12.04.2006. u 15:39 - pre 219 meseci
hvala ti del boi, ne znam kako da ti zahvalim ... imas cokoladu od mene ... ili sta 'oces .. ;)

rodders
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw12.04.2006. u 18:58 - pre 219 meseci
Ma i pivo će polužiti sasvim lepo :D

Evo koda koji sam komplajlira i koji na prvu loptu daje OK rezultate!

Code:

#include <stdio.h>
#define MAX_NIZ 30
main () {
    int i, j, dan, T[MAX_NIZ];
    double s, max;

    //inicijalizacija niza
    for (i=0; i<MAX_NIZ; T[i++] = 0) ;

    //unos
    for (i=0; i<MAX_NIZ; i++) {
        printf("Temperatura %d. dana? ", i+1);
        scanf("%d", &T[i]);
    }

    for (dan=0,  max=0, s=0, i=0; i<MAX_NIZ-10; i++) {
            for (j=i; j<i+10; s+=T[j++]);
            s = (1.0*s)/10;
            if (s>max) { max = s; dan = i; s = 0; }
    }
printf("Dani su od %d do %d u mesecu!", dan, dan+10);

printf("\n\n***KRAJ PROGRAMA***\n\n\n");
}


Ti dodaj još provere (da ti neko ne unese temperaturu 600 stepeni), komentare i šta već još treba da dodajete...

Pozdrav!
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw13.04.2006. u 09:13 - pre 219 meseci
sorry, jos nesto ... mozes li malo da mi pojasnis ovu for petlju koja racuna tih deset dana, malo mi je komplikovano, ne mogu da je provalim!
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw13.04.2006. u 19:41 - pre 219 meseci
Ovo?

Code:
    
for (dan=0,  max=0, s=0, i=0; i<MAX_NIZ-10; i++) {
            for (j=i; j<i+10; s+=T[j++]);
            s = (1.0*s)/10;
            if (s>max) { max = s; dan = i; s = 0; }
    }


Ok, ajde da probam...
Prvi deo (onaj gde je dan=0, max=0...) se uvek izvršava samo jednom! Tu sam inicijalizovao promenljive koje mi trebaju u petlji. To možeš da uradiš i pre petlje! U drugom delu ( i<MAX_NIZ-10) se uvek proverava da li je ispunjen uslov! Ovde sam stavio da uslov ide do MAX_NIZ-10 jer se u unutrašnjoj petlji raćuna zbir deset dana, pa ne bi bilo baš smisleno pustiti prvu petlju da se vrti do MAX_NIZ! Treći deo ( i++) se izvrši svaki put kad se ono što je u petlji uradi.

E sad, kad ovo znaš unutrašnja ne bi trebala da ti bude problem da je skontaš! Ona ide od i do i+10 jer računaš opseg od deset dana! Deo s+=T[j++] je tu umesto j++ i usput računa i zbir temperatura svih deset dana. Ovo može da se uradi i ovako:
Code:

for (j=i; j<i+10; j++) {
      s = s + T[j];
}


Posle ove moje for petlje (iz zadatka) mora da ti stoji ; jer se tu očekuje naredba, a mi smo sve uradili unutar deklaracije petlje, pa se ; stavlja kao prazna naredba! Nadam se da je ovo jasno!

E sad deo s = (1.0*s)/10 računa prosečnu temperaturu! Ovo što ga množim sa 1.0 ga samopretvara u realan broj, da bi i rezultat bio realan! Kad sam pisao kod nisam mnogo razmišljao o tome, ali srednja vrednost temperatura u ovom zadatku ti ni ne treba, jer ako je zbir 10 brojeva veći od zbira drugih 10 brojeva i srednja vrednost prvih deset brojeva je veća...
Znači petlja može da izgleda i ovako:
Code:
    
for (dan=0,  max=0, s=0, i=0; i<MAX_NIZ-10; i++) {
            for (j=i; j<i+10; s+=T[j++]);
            if (s>max) { max = s; dan = i; s = 0; }
    }


Ona prva verzija petlja može da ti služi ako ti se u zadatku traži da ti izračuna i srednju temperaturu tih deset traženih dana!

Ako imaš još nešto da pitaš sad je vreme, jer za vikend neću moći da ti odgovorim!


Nego, ono što mene zanima je da li si testirao program i da li uvek vraća dobre rezultate? Ja nisam imao vremena za to, a ne bih voleo da sam ti dao neispravan program, pa da zbog mene dobiješ manju ocenu :D :D :D
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw13.04.2006. u 21:09 - pre 219 meseci
ma ni linux mi ne radi na kompu! samo se windows dize! dobili smo one linux knoppuixe, ali nista kod mene .... a sto se ocene tice, zbog tebe jedino mogu vecu ocenu da dobijem .... samo ne znam sta ce traziti da im dodam u programu na casu! do sada sam uvek uspeo da provalim ... hvala jos jednom!
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw14.04.2006. u 01:01 - pre 219 meseci
Ne razumem, kakve veze ima to što nemaš linux? Pa i za windows imaš C kompajlere!

Nije valjda da si do sad napamet pisao programe?

A mogao bi malo i oko linuxa da se potrudiš, imaćete vi kasnije i C++ po planu i programu!
 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw06.05.2006. u 14:45 - pre 218 meseci
evo proso "raspust" i uradio sam domaci sa drugom, ali mi nije bas sve najjasnije .. ovako smo ga uradili, da li valja .... ne znam!

podaci o dizacima tegova jednog turnira smestaju se u matricu DIZACI3xN pri cemu je N broj dizaca koji su ucestvovali na turniru. u matrici A i-ta kolona sadrzi podatke za i-tog dizaca tegova u istoj tezinskoj kategoriji. prvi podatak u koloni je tezina koju je takmicar podigao u dizanju sa trzajem, drugi je tezina koju je takmicar podigao sa izvlacenjem, a treci je telesna tezina takmicara.

u slucaju istih podataka, uzima se da je uspesniji takmicar manje telesne tezine.
napisati C prog. koji ispisuje redni broj dizaca koji je sampion: u prvoj kategoriji, drugoj kategoriji i u obe kategorije (zbir tezina) u ukupnom plasmanu!

valja li ovo ista ....

Code:

#include <stdio.h>
#include <stdlib.h>
# define MAX 50

main ()
    {
    int i,j,n,t1=0,t2=0,t3=0,a[3][MAX], max1,max2,max3,s;
    
/*inicijalizacija matrice*/
for (i=0;i<3;i++);
        {
for (j=0;j<MAX;j++) a[i][j]=0;
}
    
    /*unos broja takmicara*/
    do {
         printf (“\nunesite broj ucesnika turnira:”);
         scanf (“%d”,&n);
           } while (n<2||n>MAX);
    
/*ispis vrednosti i formiranje matrice)*/
for (i=0;i<3;i++)
    {
for (j=0;j<n;j++) a[i][j]=1+(int)(10.0*rand()/(RAND_MAX+1.0));
    }
printf (“\ntablica uspeha takmicara je:\n”);

for (i=0;i<3;i++)
    {
    printf (“\n\t”);
    for (j=0;j<n;j++)
    printf (“%d\t”,a[i][j];
    }

max1=a[0][0];
max2=a[1][0];
max3=a[0][0]+a[1][0];

/*rangiranje takmicara*/
for(j=0;j<n;j++)
    {
    if (a[0][j]>max1)
        { max1=a[0][j]; t1=j+1;}
    if (a[1][j]>max2)
        { max2=a[1][j]; t2=j+1;}
        s=a[0][j]+a[1][j];
        if (s>max3)
            { max3=s; t3=j+1;}
        }

    /*ispis pobednika*/
    
    printf (“\npobednik u 1. kategoriji je takmicar %d.”,p1);
    printf (“\npobednik u 2. kategoriji je takmicar %d.”,p2);
    printf (\npobednik u obe kategorije je takmicar %d.”,p3);
    }
 
Odgovor na temu

pejan123

Član broj: 93769
Poruke: 7
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw08.05.2006. u 12:08 - pre 218 meseci
Shto se tiche samog koda trebalo je ispraviti nekoliko sitnica, koje moj kompajler nije mogao da svari :) (npr znakovi navoda, koje si izgleda ubacio iz worda (?) i zagrade koje su ponegde nedostajale)
Struktura bi mogla malo bolje da prodje (tabovanje i sl), a sve ovo se moglo odraditi sa manje promenljivih.
Uradio sam i ja domaci :) (da, isti taj)

Code:

for (i=0;i<3;i++)
    {
for (j=0;j<n;j++) a[i][j]=1+(int)(10.0*rand()/(RAND_MAX+1.0));
    }
printf ("\ntablica uspeha takmicara je:\n");


kako vidim ti si ovde unosio vrednosti preko rand-a
Nisam siguran da li treba da bude random matrica ili trebaju vrednosti da se unesu od strane korisnika.
U svakom sluchaju ja sam radio sa unosom korisnika, shto meni ima vishe smisla ;)

Code:

printf (“\npobednik u 1. kategoriji je takmicar %d.”,p1);
    printf (“\npobednik u 2. kategoriji je takmicar %d.”,p2);
    printf (\npobednik u obe kategorije je takmicar %d.”,p3);
    }

shto mi najvishe upada u ochi je ispis programa, gde p1, p2, p3 ne samo da nije definisano, nego nije ni povezano ni sa chim.

Ovde cu ti ubaciti ispravljenu verziju programa koju cesh moci da kompajlujesh bez problema, a shto se tiche pokretanja, tu cesh mozda imati problema, jer ja nikako nisam uspeo da ga pokrenem. Mozda je do mene.

Code:

#include <stdio.h>
#include <stdlib.h>
#define MAX 50

main ()
    {
    int i,j,n,t1=0,t2=0,t3=0,a[3][MAX], max1,max2,max3,s;
    
/*inicijalizacija matrice*/
for (i=0;i<3;i++);
        {
for (j=0;j<MAX;j++) a[i][j]=0;
}
    
    /*unos broja takmicara*/
    do {
         printf ("\nunesite broj ucesnika turnira:");
         scanf ("%d",&n);
           } while (n<2||n>MAX);
    
/*ispis vrednosti i formiranje matrice)*/
for (i=0;i<3;i++)
    {
for (j=0;j<n;j++) a[i][j]=1+(int)(10.0*rand()/(RAND_MAX+1.0));
    }
printf ("\ntablica uspeha takmicara je:\n");

for (i=0;i<3;i++)
    {
    printf ("\n\t");
    for (j=0;j<n;j++)
    printf ("%d\t",a[i][j]);
    }

max1=a[0][0];
max2=a[1][0];
max3=a[0][0]+a[1][0];

/*rangiranje takmicara*/
for(j=0;j<n;j++)
    {
    if (a[0][j]>max1)
        { max1=a[0][j]; t1=j+1;}
    if (a[1][j]>max2)
        { max2=a[1][j]; t2=j+1;}
        s=a[0][j]+a[1][j];
        if (s>max3)
            { max3=s; t3=j+1;}
        }

    /*ispis pobednika*/
    
    printf ("\npobednik u 1. kategoriji je takmicar %d.",t1);
    printf ("\npobednik u 2. kategoriji je takmicar %d.",t2);
    printf ("\npobednik u obe kategorije je takmicar %d.",t3);
    }



Srecno na vezbama, a i na kolokvijumu posle, kolega ;)

 
Odgovor na temu

st_jimmy
Ernest Jimmy Kovac
Kula / NS

Član broj: 88907
Poruke: 43
*.ns.ac.yu.



Profil

icon Re: pomoc - nedovrsen zadatak i provera, btw08.05.2006. u 14:46 - pre 218 meseci
nije do tebe, ne ce ni meni da se pokrene!!!! nema greske, ali nece ...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc - nedovrsen zadatak i provera, btw

[ Pregleda: 3866 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.