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

Funkcije, zadatak, help

[es] :: C/C++ programiranje :: Funkcije, zadatak, help

[ Pregleda: 2811 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PaTaK
Rijeka

Član broj: 24733
Poruke: 4
*.cmu.carnet.hr

ICQ: 67298914
Sajt: clf.gamer.hr


Profil

icon Funkcije, zadatak, help17.04.2004. u 11:06 - pre 243 meseci
Mislim da sam savladao petlje i polja i sad sam doso do funkcija, inace C ucim na faksu pa otuda i ovaj zadatak...
Inace pokusavam ga rijesit vec dulje vrijeme ali vec sam se izgubio u tim kodovima pa ni sam ne znam sta je greska, mozda mi neko od vas moze pomoc...

Citat:
/*1. Napisati funkciju koja vraca aritmeticku sredinu polja cijelih brojeva. Funkcija vraca decimalnu vrijednost,
a argumenti su joj polje cijelih brojeva i ukupan broj elemenata unesenih u polju.

2. Napisati funkciju koja vraca broj elemenata polja, koji su veci od nekog broja, Funkcija vraca cjelobrojnu
vrijednost, a argumenti su joj : polje cijelih brojeva, ukupan broj elemenata unesenih u polje i granicna vrijednost
(cijeli broj)

Napisati program koji na osnovu unesenih ocjena studenata (npr. sa ispita) vraca prosjecnu ocjenu i broj studenata koji
su ispit prosli i broj studenata koji su pali. Ocijena je maksimalno ukupno 20 (od 1 do 5), a ocjena 0 znaci kraj unosa.

-zaglavlje
-deklaracija prototipa
-glavni program
-funkcije
*/

#include<stdio.h>

float arit_sredina(int a[], int x);
int zadovoljili(int prag, int a[], int x);

main(){
int a[20],x=0,prosli=0, failed=0, prag;
while(x<20){
printf("Unesite ocjenu studenta : ");
scanf("%d", &a[x]);
printf("Unesite donji prag :");
scanf("%d", &prag);
if(a[x]==0){
break;
}
if(a[x]<1 || a[x]>5){
printf("unijeli ste krivu ocjenu\n");
continue;
}
if(a[x]==1){
failed++;
}
else{
prosli++;
}
x++;

}
printf("prosjecna ocjena studenata je %f\n", arit_sredina(a,x));
printf("Od %d studenata koji su pristupili ispitu proslo je %d studenata a palo je %d studenata\n", x, prosli, failed);
printf("A od %d koji su prosli ispit njih %d zadovoljilo je vas prag", prosli, zadovoljili(a,x,prag));
}



float arit_sredina(int a[], int x){

int sumaocjena=0, y=0;
float prosjek;
while(y<=x){
sumaocjena=sumaocjena+a[y];
y++;
}
prosjek=sumaocjena/x;
return prosjek;

}

int zadovoljili(int a[], int x, int prag){
int z=0, preko_praga=0,
while(z<=x){
if(polje[z]>=prag){
preko_praga++;
}
z++:
}
return preko_praga;
}


hmmm, sad izgleda jos teze, ja u originalu nisam sve piso jedno ispod drugog nego bi uvuko redove da izgleda preglednije... -.-

Uglavnom, negdje grijesim ali ne znam gdje...

help?
hate when username "BoBo" is taken... -.-
 
Odgovor na temu

PaTaK
Rijeka

Član broj: 24733
Poruke: 4
*.cmu.carnet.hr

ICQ: 67298914
Sajt: clf.gamer.hr


Profil

icon Re: Funkcije, zadatak, help17.04.2004. u 11:21 - pre 243 meseci
Nevjerojatno, razbijam glavu s ovim zadatkom vec dugo i tek kad sam postao sam pronaso 2 greske, tako da sad idem da ispravim pa ako ne radi cu opet da postam...

btw kako da napravim copy/paste da to izgleda uredno?
hate when username "BoBo" is taken... -.-
 
Odgovor na temu

PaTaK
Rijeka

Član broj: 24733
Poruke: 4
*.cmu.carnet.hr

ICQ: 67298914
Sajt: clf.gamer.hr


Profil

icon Re: Funkcije, zadatak, help17.04.2004. u 11:26 - pre 243 meseci
Code:
/*1. Napisati funkciju koja vraca aritmeticku sredinu polja cijelih brojeva. Funkcija vraca decimalnu vrijednost,
a argumenti su joj polje cijelih brojeva i ukupan broj elemenata unesenih u polju.

  2. Napisati funkciju koja vraca broj elemenata polja, koji su veci od nekog broja, Funkcija vraca cjelobrojnu
  vrijednost, a argumenti su joj : polje cijelih brojeva, ukupan broj elemenata unesenih u polje i granicna vrijednost
  (cijeli broj)

  Napisati program koji na osnovu unesenih ocjena studenata (npr. sa ispita) vraca prosjecnu ocjenu i broj studenata koji
  su ispit prosli i broj studenata koji su pali. Ocijena je maksimalno ukupno 20 (od 1 do 5), a ocjena 0 znaci kraj unosa.

-zaglavlje
-deklaracija prototipa
-glavni program
-funkcije
*/

#include<stdio.h>

float arit_sredina(int a[], int x);
int zadovoljili(int a[],int x,int prag);

main(){
    int a[20],x=0,prosli=0, failed=0, prag;

    while(x<20){
    printf("Unesite ocjenu studenta :  ");
    scanf("%d", &a[x]);
    
        if(a[x]==0){
            break;
            }
        if(a[x]<1 || a[x]>5){
            printf("unijeli ste krivu ocjenu\n");
            continue;
            }
        if(a[x]==1){
            failed++;
            }
        else{
            prosli++;
            }
        x++;

    }
printf("Unesite donji prag  :");
scanf("%d", &prag);
printf("prosjecna ocjena studenata je %f\n", arit_sredina(a,x));
printf("Od %d studenata koji su pristupili ispitu proslo je %d studenata a palo je %d studenata\n", x, prosli, failed);
printf("A od %d koji su prosli ispit njih %d zadovoljilo je vas prag", prosli, zadovoljili(a,x,prag));
}



float arit_sredina(int a[], int x){

    int sumaocjena=0, y=0;
    float prosjek;
        while(y<=x){
            sumaocjena=sumaocjena+a[y];
            y++;
            }
    prosjek=(float)sumaocjena/x;
    return prosjek;
    
}

int zadovoljili(int a[], int x, int prag){
    int z=0, preko_praga=0;
        while(z<=x){
            if(a[z]>=prag){
                preko_praga++;
                }
            z++;
        }
        return preko_praga;
}


evo ga radi...

bas sam biser :) i skuzio sam da treba "code" a ne "quote" ;)




ok, je mi moze neko mozda poblize objasnit ovo sto se nalazi u funkciji unutar zagrade? izgleda da sam napiso dobro ali ne razumijem sta znaci "polje[]"

Isto tako, ima neko neki prijedlog kako se nesto krace, ljepse ili jednostavnije zapisuje?

zahvaljujem
hate when username "BoBo" is taken... -.-
 
Odgovor na temu

[es] :: C/C++ programiranje :: Funkcije, zadatak, help

[ Pregleda: 2811 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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