Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Opet me C nervira- strukture
WWW:
Idite na 1, 2, 3  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 22:39 sri, 10. 6. 2009    Naslov: Opet me C nervira- strukture Citirajte i odgovorite

[code:1]#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

typedef struct _automobil {
char ime[77];
int cijena;
struct _automobil *next;
} automobil;

int main() {
automobil *first = NULL, *pom, *pom2;
int prosjek = 0, n = 0;
char c;
do {
automobil *new;
new = (automobil*)malloc(sizeof(automobil));
printf("ime auta: "); scanf(" %[^\n]", new->ime);
printf("cijena automobila: "); scanf("%d", &new->cijena);
if (first) {
pom = pom->next = new;
}
else pom = first = new;
do {
printf("Zelite li nastaviti? \n");
printf("d/n?");
scanf(" %c", &c);
c = tolower(c);
} while (c != 'd' && c != 'n');
while (c == 'd');
pom->next = NULL;
for (pom = first; pom; pom = pom->next) {
prosjek += pom->cijena;
++n;
}
prosjek /= n;
printf("Ukupno automobila: %d\n", n);
printf("Prosjecna cijena: %d\n", prosjek);
printf("Nadprosjecno skupi automobili: \n");
for (pom = first; pom; pom = pom->next) {
if (pom->cijena > prosjek)
printf(" %s, %d\n", pom->ime, pom->cijena);
}
for (pom = first; pom; pom = pom2) {
pom2 = pom->next;
free(pom);
}
scanf("%%");
return 0;
}[/code:1]
skoro pa direktan c/p iz skripte, do na detalje oko ispisa i takvih stvari.
u liniji [tt]automobil *new[/tt] kaže "expected primary-expression before "*" token"
onda u linijama (ova je 16) (uključujući i 16.) 17, 18, 19, 21, 23 kaže "expected identifier before "neki" token" neki iz skupa {;, ->, =}

ne mogu se više snaći di sam se zezno. nešt gadno ne valja, il sa mnom, il sa compilerom.
Kod:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

typedef struct _automobil {
        char ime[77];
        int cijena;
        struct _automobil *next;
        } automobil;

int main() {
    automobil *first = NULL, *pom, *pom2;
    int prosjek = 0, n = 0;
    char c;
    do {
        automobil *new;
        new = (automobil*)malloc(sizeof(automobil));
        printf("ime auta: "); scanf(" %[^\n]", new->ime);
        printf("cijena automobila: "); scanf("%d", &new->cijena);
        if (first) {
                   pom = pom->next = new;
                   }
        else pom = first = new;
        do {
           printf("Zelite li nastaviti? \n");
           printf("d/n?");
           scanf(" %c", &c);
           c = tolower(c);
           } while (c != 'd' && c != 'n');
        while (c == 'd');
    pom->next = NULL;
    for (pom = first; pom; pom = pom->next) {
        prosjek += pom->cijena;
        ++n;
        }
    prosjek /= n;
    printf("Ukupno automobila: %d\n", n);
    printf("Prosjecna cijena: %d\n", prosjek);
    printf("Nadprosjecno skupi automobili: \n");
    for (pom = first; pom; pom = pom->next) {
        if (pom->cijena > prosjek)
           printf(" %s, %d\n", pom->ime, pom->cijena);
        }
    for (pom = first; pom; pom = pom2) {
        pom2 = pom->next;
        free(pom);
        }
    scanf("%%");
    return 0;
}

skoro pa direktan c/p iz skripte, do na detalje oko ispisa i takvih stvari.
u liniji automobil *new kaže "expected primary-expression before "*" token"
onda u linijama (ova je 16) (uključujući i 16.) 17, 18, 19, 21, 23 kaže "expected identifier before "neki" token" neki iz skupa {;, →, =}

ne mogu se više snaći di sam se zezno. nešt gadno ne valja, il sa mnom, il sa compilerom.



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 22:45 sri, 10. 6. 2009    Naslov: Citirajte i odgovorite

Meni je sve ok, samo ti je falila jedna zagrada, u liniji 30, ispred while... sejvaj kao .c a ne .cpp ;)
Meni je sve ok, samo ti je falila jedna zagrada, u liniji 30, ispred while... sejvaj kao .c a ne .cpp Wink



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 22:51 sri, 10. 6. 2009    Naslov: Citirajte i odgovorite

tnx Luuka
btw, pitanje, zašto to nije radilo kao C++ source file? jeli to stvar razlika u C-u i C++-u ili što?
tnx Luuka
btw, pitanje, zašto to nije radilo kao C++ source file? jeli to stvar razlika u C-u i C++-u ili što?



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 23:48 sri, 10. 6. 2009    Naslov: Citirajte i odgovorite

Prva pomisao - jer je u C++-u onaj NEW ključna riječ, služi kao neka vrsta dinamičke alokacije memorije, recimo... vidjet ćeš kad dođeš do tamo kaj sve new radi... uglavnom ključna riječ, a tebi je tu samo kao ime, pa je došlo do krša :D
Prva pomisao - jer je u C++-u onaj NEW ključna riječ, služi kao neka vrsta dinamičke alokacije memorije, recimo... vidjet ćeš kad dođeš do tamo kaj sve new radi... uglavnom ključna riječ, a tebi je tu samo kao ime, pa je došlo do krša Very Happy



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 12:01 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

opet ja, da ne otvaram ponovo topice, sljedeći kod, nakon učitavanja liste razlomaka, nakon učitavanja brojeva x, y, i nakon što lupim enter, javi mi se onaj prozorčić i veli kako ne može čitati određenu adresu. kod je save-an u .c formatu, tak da, tu nema problema, negdje sam ja zabrljavio izgleda.
[code:1]
typedef struct _razlomak {
int brojnik, nazivnik;
struct _razlomak *next;
} razlomak;

razlomak *delete (razlomak *first, int x, int y) {
razlomak *t;
if (!first) return NULL;
if (first->brojnik*y == first->nazivnik*x) {
t = first->next;
free(first);
return t;
}
else {
razlomak *del;
t = first;
while (t->next && t->next->nazivnik*x !=
t->next->brojnik*y)
t = t->next;
if (t->next) {
del = t->next;
t->next = del->next;
free(del);
}
return first;
}
}
int main() {
razlomak *first = NULL, *pom, *pom2;
int x, y;
char c;
do {
razlomak *new = (razlomak*)malloc(sizeof(razlomak));
printf("Brojnik: "); scanf("%d", new->brojnik);
printf("Nazivnik: "); scanf("%d", new->nazivnik);
if (first) pom = pom->next = new;
else pom = first = new;
do {
printf("Ako zelite nastaviti ucitavati razlomke stisnite d");
printf(" u suprotnom odaberite n: \n");
scanf(" %c", &c);
c = tolower(c);
} while (c != 'd' && c != 'n');
} while (c == 'd');
printf("Unesite x, y: ");
printf("x = "); scanf("%d", &x);
printf("y = "); scanf("%d", &y);
first = delete(first, x, y);
printf("Izmjenjena lista:\n");
for (pom = first; pom; pom = pom->next)
printf("%d/%d", pom->brojnik, pom->nazivnik);
for (pom = first; pom; pom = pom2) {
pom2 = pom->next;
free(pom);
}
scanf("%%");
return 0;
}[/code:1]
opet ja, da ne otvaram ponovo topice, sljedeći kod, nakon učitavanja liste razlomaka, nakon učitavanja brojeva x, y, i nakon što lupim enter, javi mi se onaj prozorčić i veli kako ne može čitati određenu adresu. kod je save-an u .c formatu, tak da, tu nema problema, negdje sam ja zabrljavio izgleda.
Kod:

typedef struct _razlomak {
        int brojnik, nazivnik;
        struct _razlomak *next;
        } razlomak;

razlomak *delete (razlomak *first, int x, int y) {
         razlomak *t;
         if (!first) return NULL;
         if (first->brojnik*y == first->nazivnik*x) {
                              t = first->next;
                              free(first);
                              return t;
                              }
         else {
              razlomak *del;
              t = first;
              while (t->next && t->next->nazivnik*x !=
                     t->next->brojnik*y)
                                         t = t->next;
              if (t->next) {
                           del = t->next;
                           t->next = del->next;
                           free(del);
                           }
              return first;
              }
         }
int main() {
    razlomak *first = NULL, *pom, *pom2;
    int x, y;
    char c;
    do {
        razlomak *new = (razlomak*)malloc(sizeof(razlomak));
        printf("Brojnik: "); scanf("%d", new->brojnik);
        printf("Nazivnik: "); scanf("%d", new->nazivnik);
        if (first) pom = pom->next = new;
        else pom = first = new;
        do {
            printf("Ako zelite nastaviti ucitavati razlomke stisnite d");
            printf(" u suprotnom odaberite n: \n");
            scanf(" %c", &c);
            c = tolower(c);
            } while (c != 'd' && c != 'n');
        } while (c == 'd');
    printf("Unesite x, y: ");
    printf("x = "); scanf("%d", &x);
    printf("y = "); scanf("%d", &y);
    first = delete(first, x, y);
    printf("Izmjenjena lista:\n");
    for (pom = first; pom; pom = pom->next)
              printf("%d/%d", pom->brojnik, pom->nazivnik);
    for (pom = first; pom; pom = pom2) {
        pom2 = pom->next;
        free(pom);
        }
    scanf("%%");
    return 0;
}



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 12:07 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

[tt]new->brojnik[/tt] i [tt]new->nazivnik[/tt] su [tt]int[/tt]-ovi, pa im u [tt]scanf()[/tt]-u treba staviti [tt]&[/tt]. 8)

(mdoko bi ti rekao i da ne postoji .c format, nego snimanje s .c ekstenzijom :P)
new→brojnik i new→nazivnik su int-ovi, pa im u scanf()-u treba staviti &. Cool

(mdoko bi ti rekao i da ne postoji .c format, nego snimanje s .c ekstenzijom Razz)



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 12:21 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

traži dalje :) nije u tome greška, čini se (a sam glup, nemog vjerovat da nisam stavio taj [tt]&[/tt])
ispravio sam taj dio koda, nije to. btw, jel mi onda nebi trebalo javljati error odmah pri učitavanju prvog razlomka?
izgleda da sam fulao negdje u funkciji [tt]delete()[/tt] ili dalje u kodu.

[quote="vsego"](mdoko bi ti rekao i da ne postoji .c format, nego snimanje s .c ekstenzijom Razz)[/quote]
dobro dobro, to sam i mislio[/tt]
traži dalje Smile nije u tome greška, čini se (a sam glup, nemog vjerovat da nisam stavio taj &)
ispravio sam taj dio koda, nije to. btw, jel mi onda nebi trebalo javljati error odmah pri učitavanju prvog razlomka?
izgleda da sam fulao negdje u funkciji delete() ili dalje u kodu.

vsego (napisa):
(mdoko bi ti rekao i da ne postoji .c format, nego snimanje s .c ekstenzijom Razz)

dobro dobro, to sam i mislio[/tt]



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 12:44 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

Fali ti i kraj liste ([tt]pom->next = NULL[/tt] nakon petlje u kojoj ucitavas). 8)
Fali ti i kraj liste (pom→next = NULL nakon petlje u kojoj ucitavas). Cool



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 13:20 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

:superctebo: :twisted: :evil:
u međuvremenu sam natipko još jedan program i opet nije radilo, isto veli o adresi, kad ono..........

tnx vsego :drinking:

btw, gore pastani program ne radi kako bi trebao, neke koji zadovoljavaju uvjet briše, neke ne. ma......... neda mise sad tražit još kak da to popravim.
Cetiri losha ubishe tri Milosha... Twisted Evil Evil or Very Mad
u međuvremenu sam natipko još jedan program i opet nije radilo, isto veli o adresi, kad ono..........

tnx vsego #Beer

btw, gore pastani program ne radi kako bi trebao, neke koji zadovoljavaju uvjet briše, neke ne. ma......... neda mise sad tražit još kak da to popravim.



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 13:25 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

Napisi sto si ukucao u listu, sto si trazio da se obrise, sto se desilo i sto si ocekivao da se desi. :)
Napisi sto si ukucao u listu, sto si trazio da se obrise, sto se desilo i sto si ocekivao da se desi. Smile



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 13:32 čet, 11. 6. 2009    Naslov: Citirajte i odgovorite

jao sorry, krivi zad gledam. ovaj radi perfektno :)
mea culpa :oops:
jao sorry, krivi zad gledam. ovaj radi perfektno Smile
mea culpa Embarassed



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
lucika
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2007. (17:52:27)
Postovi: (12F)16
Spol: žensko
Sarma = la pohva - posuda
24 = 34 - 10

PostPostano: 2:31 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

[code:1]
/*2. (a) De nirajte tip pravokutnik za pohranu podatka o jednom pravokutniku u R2 (odredenom koordinatama dva
suprotna vrha (x1; y1) i (x2; y2), sa stranicama koje su paralelne apscisi i ordinati), tako da bude moguca
deklaracija pravokutnik p;. U strukturi smiju biti samo polja koja su nuzna za rjesenje ovog zadatka.
Nadalje, de nirajte tri funkcije:
(b) jednu koja kao argument prihvaca jedan pravokutnik, te kao povratnu vrijednost vraca povrsinu tog pravo-
kutnika (|x1-x2| * |y1-y2|).
(c) jednu koja kao varijabilni argument prihvaca jedan pravokutnik i dva realna broja a i b, te ga zamjenjuje s
pravokutnikom koji ce mu biti simetrican u odnosu na tocku (a, b) ((x,y) -> (2a-x, 2b-y)). Funkcija ne
vraca nikakvu vrijednost.
(d) jednu koja kao argument prihvaca niz pravokutnika koje sortira uzlazno po povrsini.
Za sve tri funkcije napisite i primjere poziva.
*/

#include<stdio.h>
#include<math.h>

typedef struct{
double x1, x2, y1, y2;
}pravokutnik;

double funkcijaB( pravokutnik p){
return ( fabs(p.x1 - p.x2) * fabs(p.y1 - p.y2) );
}

void funkcijaC( pravokutnik *p, double a, double b){
p->x1 = 2*a - p->x1;
p->x2 = 2*a - p->x2;
p->y1 = 2*b - p->y1;
p->y2 = 2*b - p->y2;
}

void funkcijaD( pravokutnik p[], int n){
int i, j;
pravokutnik temp;
for (i=0; i<n; i++)
for(j=i+1; j<n; j++)
if( funkcijaB ( p[i])> funkcijaB(p[j]) )
temp=p[i];
p[i]=p[j];
p[j]=temp;
}

void ispis_pravokutnika(pravokutnik p) {
printf("(%g,%g)--(%g,%g)", p.x1, p.y1, p.x2, p.y2);
}

void ispis_niza(pravokutnik p[], int n) {
int i;
for (i = 0; i < n; ++i) {
printf(" %d: ", i+1);
ispis_pravokutnika(p[i]);
printf("\t%g\n", funkcijaB(p[i]));
}
}

int main(){
pravokutnik p={ 5, 7, 2, 3};
double P;
pravokutnik niz[]={ {1, 1, 2, 2}, p, {7, 6, 7, 6} };
int n=sizeof(niz) / sizeof(pravokutnik);
P=funkcijaB(p);
printf("%lg\n", P);

funkcijaC(&p, 4, 8);
printf("x1=%lg, x2=%lg, y1=%lg, y2=%lg", p.x1, p.x2, p.y1, p.y2);

funkcijaD(niz, n);
printf("Niz nakon sorta:\n");
ispis_niza(niz, n);

scanf("%%");
return 0;
}
[/code:1]

kad compaliram, buni se i kaže: " too many arguments to function `void funkcijaD(pravokutnik*, int)' "
kaj ne valja :?:

PS: jel mogu negdje uključit da mi sastrane piše koja je linija koda da ne moram brojat svaki put...? :roll:
Kod:

/*2. (a) De nirajte tip pravokutnik za pohranu podatka o jednom pravokutniku u R2 (odredenom koordinatama dva
suprotna vrha (x1; y1) i (x2; y2), sa stranicama koje su paralelne apscisi i ordinati), tako da bude moguca
deklaracija pravokutnik p;. U strukturi smiju biti samo polja koja su nuzna za rjesenje ovog zadatka.
Nadalje, de nirajte tri funkcije:
 (b) jednu koja kao argument prihvaca jedan pravokutnik, te kao povratnu vrijednost vraca povrsinu tog pravo-
kutnika (|x1-x2| * |y1-y2|).
 (c) jednu koja kao varijabilni argument prihvaca jedan pravokutnik i dva realna broja a i b, te ga zamjenjuje s
pravokutnikom koji ce mu biti simetrican u odnosu na tocku (a, b) ((x,y) -> (2a-x, 2b-y)). Funkcija ne
vraca nikakvu vrijednost.
 (d) jednu koja kao argument prihvaca niz pravokutnika koje sortira uzlazno po povrsini.
Za sve tri funkcije napisite i primjere poziva.
*/

#include<stdio.h>
#include<math.h>

typedef struct{
        double x1, x2, y1, y2;
        }pravokutnik;
       
double funkcijaB( pravokutnik p){
       return ( fabs(p.x1 - p.x2) * fabs(p.y1 - p.y2) );
       }
       
void funkcijaC( pravokutnik *p, double a, double b){
     p->x1 = 2*a - p->x1;
     p->x2 = 2*a - p->x2;
     p->y1 = 2*b - p->y1;
     p->y2 = 2*b - p->y2;
     }
   
void funkcijaD( pravokutnik p[], int n){
     int i, j;
     pravokutnik temp;
     for (i=0; i<n; i++)
        for(j=i+1; j<n; j++)
          if( funkcijaB ( p[i])> funkcijaB(p[j]) )     
                    temp=p[i];
                    p[i]=p[j];
                    p[j]=temp;
                    }
 
 void ispis_pravokutnika(pravokutnik p) {
  printf("(%g,%g)--(%g,%g)", p.x1, p.y1, p.x2, p.y2);
}

void ispis_niza(pravokutnik p[], int n) {
  int i;
  for (i = 0; i < n; ++i) {
    printf("  %d: ", i+1);
    ispis_pravokutnika(p[i]);
    printf("\t%g\n", funkcijaB(p[i]));
  }
}                               
                   
int main(){
    pravokutnik p={ 5, 7, 2, 3};
    double P;
    pravokutnik niz[]={ {1, 1, 2, 2}, p, {7, 6, 7, 6} };
    int n=sizeof(niz) / sizeof(pravokutnik);
    P=funkcijaB(p);
    printf("%lg\n", P);
   
    funkcijaC(&p, 4, 8);
    printf("x1=%lg, x2=%lg, y1=%lg, y2=%lg", p.x1, p.x2, p.y1, p.y2);
   
    funkcijaD(niz, n);
    printf("Niz nakon sorta:\n");
    ispis_niza(niz, n);
   
    scanf("%%");
    return 0;
}


kad compaliram, buni se i kaže: " too many arguments to function `void funkcijaD(pravokutnik*, int)' "
kaj ne valja Question

PS: jel mogu negdje uključit da mi sastrane piše koja je linija koda da ne moram brojat svaki put...? Rolling Eyes




Zadnja promjena: lucika; 3:30 pet, 12. 6. 2009; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 2:37 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

Tvoja [tt]funkcijaD()[/tt] je deklarirana tako da prima dva parametra, a ti ju pozivas sa tri. 8) Ostatak nisam gledao, pa je moguce da ima jos gresaka. :|
Tvoja funkcijaD() je deklarirana tako da prima dva parametra, a ti ju pozivas sa tri. Cool Ostatak nisam gledao, pa je moguce da ima jos gresaka. Neutral



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
lucika
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2007. (17:52:27)
Postovi: (12F)16
Spol: žensko
Sarma = la pohva - posuda
24 = 34 - 10

PostPostano: 3:01 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

ajme vidi stvarno!
dakle u mainu sam fulala...a ja buljim u fju pa već hoću poludit :x
hvala na prosvjetljenju! :D

edit:
sad mi još sort neš ne valja...ne sortira mi dobro ova 3 pravokutnika po površini :?
ajme vidi stvarno!
dakle u mainu sam fulala...a ja buljim u fju pa već hoću poludit Mad
hvala na prosvjetljenju! Very Happy

edit:
sad mi još sort neš ne valja...ne sortira mi dobro ova 3 pravokutnika po površini Confused


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 11:45 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

Falilo ti je par zagrada, i i ide do n-1, ne do n... evo ti samo ta fja, ostalo je ok:

[code:1]void funkcijaD( pravokutnik p[], int n){
int i, j;
pravokutnik temp;
for (i=0; i<n-1; i++)
for(j=i+1; j<n; j++)
if( funkcijaB ( p[i])> funkcijaB(p[j]) )
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}[/code:1]


A da ti prikazuje linije odi ovako (pretp da radiš u devcpp-u):
tools-editor options-display-line numbers :D
Falilo ti je par zagrada, i i ide do n-1, ne do n... evo ti samo ta fja, ostalo je ok:

Kod:
void funkcijaD( pravokutnik p[], int n){
     int i, j;
     pravokutnik temp;
     for (i=0; i<n-1; i++)
        for(j=i+1; j<n; j++)
          if( funkcijaB ( p[i])> funkcijaB(p[j]) ) 
          {   
                    temp=p[i];
                    p[i]=p[j];
                    p[j]=temp;
                    }
}



A da ti prikazuje linije odi ovako (pretp da radiš u devcpp-u):
tools-editor options-display-line numbers Very Happy



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
lucika
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2007. (17:52:27)
Postovi: (12F)16
Spol: žensko
Sarma = la pohva - posuda
24 = 34 - 10

PostPostano: 13:28 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

Odlično!!! sad konačno sve radi kak spada a imam i ove linije. weeeeeee!!!
:weee:
Odlično!!! sad konačno sve radi kak spada a imam i ove linije. weeeeeee!!!
Weeeeeee!!!!!!!!!!!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 15:28 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

u attach-u je kod. javlja mi "linker error"
u attach-u je kod. javlja mi "linker error"



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat



7,13.c
 Description:

Download
 Filename:  7,13.c
 Filesize:  1.05 KB
 Downloaded:  106 Time(s)

[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 15:37 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

I to kaže undefined reference to scnaf... dakle umjesto scanf si napiso scnaf ;)
I to kaže undefined reference to scnaf... dakle umjesto scanf si napiso scnaf Wink



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 16:02 pet, 12. 6. 2009    Naslov: Citirajte i odgovorite

ma jooj, tnx Luuka. vidio sma da to kaže, al, nisam ni pogledao u taj dio koda. [url=http://www.nba.com/video/channels/playoffs/2009/06/12/nba_20090611_gm4_superhilite.nba/]naporna noć[/url] :evil:

edit: btw, nisam ni zatvorio listu nakon učitavanja, tak da je tu i druga greška :)
ma jooj, tnx Luuka. vidio sma da to kaže, al, nisam ni pogledao u taj dio koda. naporna noć Evil or Very Mad

edit: btw, nisam ni zatvorio listu nakon učitavanja, tak da je tu i druga greška Smile



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
lucika
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2007. (17:52:27)
Postovi: (12F)16
Spol: žensko
Sarma = la pohva - posuda
24 = 34 - 10

PostPostano: 1:07 sub, 13. 6. 2009    Naslov: Citirajte i odgovorite

it's me again! :)
zakaj sljedeći program ne radi? izbacuje mi da je prosjek = -1 (što je krivo) a onda niti ne ispiše aute koji su skuplji od prosjeka.

[code:1]
/*
Zadatak 7.1. Napiˇsite program koji uˇcitava listu automobila (za
svakoga treba uˇcitati naziv (string do 30 znakova) i cijenu (cijeli broj)).
Program treba ispisati one automobile (naziv i cijenu) koji su skuplji
od prosjeka.
*/

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

typedef struct __cvor
{
char naziv[ 31 ];
int cijena;

struct __cvor *next;
} cvor;

int main( void )
{
cvor *L = NULL, *novi, *tren;
int brojCvorova;
double prosjek=0;

while( 1 )
{
char naziv[ 31 ];
int cijena;

scanf( " %[^\n]", naziv );
if( strcmp( naziv, "kraj" ) == 0 )
break;

scanf( "%d", &cijena );

novi = ( cvor * ) malloc( sizeof( cvor ) );
novi->cijena = cijena;
strcpy( novi->naziv, naziv );

novi->next = L;
L = novi;
}

brojCvorova = 0;

for( tren = L; tren != NULL; tren = tren->next )
{
++brojCvorova;
prosjek += tren->cijena;
}

prosjek /= brojCvorova;
printf("Prosjek: %g\n", prosjek);

printf( "Skuplji od prosjeka su: " );
for( tren = L; tren != NULL; tren = tren->next )
if( tren->cijena > prosjek )
printf( " %s ", tren->naziv );

printf( "\n" );

// oslobadjanje memorije koju zauzima lista
while( L != NULL )
{
cvor *temp = L->next;
free( L );
L = temp;
}
scanf("%%");
return 0;
}
[/code:1]
it's me again! Smile
zakaj sljedeći program ne radi? izbacuje mi da je prosjek = -1 (što je krivo) a onda niti ne ispiše aute koji su skuplji od prosjeka.

Kod:

/*
Zadatak 7.1. Napiˇsite program koji uˇcitava listu automobila (za
svakoga treba uˇcitati naziv (string do 30 znakova) i cijenu (cijeli broj)).
Program treba ispisati one automobile (naziv i cijenu) koji su skuplji
od prosjeka.
*/

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

typedef struct __cvor
{
   char naziv[ 31 ];
   int cijena;
   
   struct __cvor *next;
} cvor;

int main( void )
{
   cvor *L = NULL, *novi, *tren;
   int brojCvorova;
   double prosjek=0;
   
   while( 1 )
   {
      char naziv[ 31 ];
      int cijena;
      
      scanf( " %[^\n]", naziv );
      if( strcmp( naziv, "kraj" ) == 0 )
          break;
         
      scanf( "%d", &cijena );
         
      novi = ( cvor * ) malloc( sizeof( cvor ) );
      novi->cijena = cijena;
      strcpy( novi->naziv, naziv );
      
      novi->next = L;
      L = novi;
   }

   brojCvorova = 0;
   
   for( tren = L; tren != NULL; tren = tren->next )
   {
      ++brojCvorova;
      prosjek += tren->cijena;
   }
   
       prosjek /=  brojCvorova;
   printf("Prosjek: %g\n", prosjek);

   printf( "Skuplji od prosjeka su: " );
   for( tren = L; tren != NULL; tren = tren->next )
       if( tren->cijena > prosjek )
           printf( " %s ", tren->naziv );

   printf( "\n" );
   
   // oslobadjanje memorije koju zauzima lista
   while( L != NULL )
   {
      cvor *temp = L->next;
      free( L );
      L = temp;
   }
    scanf("%%");
   return 0;
}




Zadnja promjena: lucika; 3:00 sub, 13. 6. 2009; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na 1, 2, 3  Sljedeće
Stranica 1 / 3.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan