Pomoc, zadatak u C ( gdje mi je greska)

poruka: 7
|
čitano: 1.403
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Pomoc, zadatak u C ( gdje mi je greska)

E ovako, zadatak mi je napisati program koji unese 3 cijela broja i u posebnoj funkciji (do funkcija dosao s gradivom, tek poceo) ispise sve brojeve izmedju najveceg i najmanjeg unesenog. Ovo sam uradio :

 

#include <stdio.h>

int izm ( int min, int max );

int main()
{
int min;
int max;
int niz[3];
int i;

printf( "Upisi prvi broj: \n" );
scanf( "%d", &niz[0] );
min=niz[0];
max=niz[0];
for (i=1;i<3;i++)
{

printf( "Upisi %d. broj\n", i+1 );
scanf ("%d", niz[i]);
if (niz[i]>max) max=niz[i];
if (niz[i]<min) min=niz[i];

}

printf ("Brojevi izmedju su:\n", izm(min, max));
return 0;
}

int izm (int min, int max)
{
static int x;
for (x=min+1;x<max;x++)
return x;
}

 

 

program se crasha kad unesem 2. broj..

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Pomoc, zadatak u C ( gdje mi je greska)

scanf ("%d", &niz[i]);

 

 

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put uto 15.1.2013 14:47 (TracerCPP).
Moj PC  
1 0 hvala 1
12 godina
neaktivan
offline
Re: Pomoc, zadatak u C ( gdje mi je greska)

ispravljeno...koja sitnica, ne znam kako mi nije pokazao error kad sam build solution...

 

ali sada ima nova greska, kad unesem brojeve pise: brojevi izmedju su:

i nista dalje

14 godina
neaktivan
offline
Re: Pomoc, zadatak u C ( gdje mi je greska)

%d nisi ubacio u printf.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
12 godina
neaktivan
offline
Re: Pomoc, zadatak u C ( gdje mi je greska)

e hvala, rijesio sam. zadatak fino radi, evo konacni oblik :

[quote]

#include <stdio.h>

int izm ( int min, int max );

void main()
{
int min;
int max;
int niz[3];
int i;

printf( "Upisi 1. broj: \n" );
scanf( "%d", &niz[0] );
min=niz[0];
max=niz[0];
for (i=1;i<3;i++)
{

printf( "Upisi %d. broj\n", i+1 );
scanf ("%d", &niz[i]);
if (niz[i]>max) max=niz[i];
if (niz[i]<min) min=niz[i];

}

printf ("Brojevi izmedju najveceg i najmanjeg su:\n");
printf ("%d \n", izm(min,max));



}

int izm (int min, int max)
{
static int x;
for (x=min+1;x<max-1;x++)
printf ("%d ", x);
return x;
}

[/quote]

 

ovaj boldani dio, je li se moglo ljepse uradit, u u jednom printfu? pokusavao sam nesto, ali stalno mi brojevi ispadali prije recenice, ono 3 4 5 6 7 .... brojevi izmedju su.

 

i Tracer, imas veliki Thanks od mene

 

 

Poruka je uređivana zadnji put uto 15.1.2013 15:34 (lazy_punk).
14 godina
neaktivan
offline
Re: Pomoc, zadatak u C ( gdje mi je greska)

Prvo, u funkciji makni ključnu riječ static koja se nalazi uz int x. Statičke lokalne varijable čuvaju svoju vrijednost u među-pozivima, a to tebi ovdje ne treba. Štoviše, samo može izazvati grešku. Drugo, funkcija izm očito ne treba ništa vraćati već samo ispisati brojeve, pa može biti tipa void:

 

void izm (int min, int max){
    int x;
    for (x=min+1;x<max-1;x++)
        printf ("%d ", x);
}

 

i onda u main-u ovako nešto;

 

printf ("Brojevi izmedju najveceg i najmanjeg su:\n");
izm (min, max);

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
12 godina
neaktivan
offline
Re: Pomoc, zadatak u C ( gdje mi je greska)

Hvala! Nedavno sam poceo uciti programiranje...pa ako mi ponovno zatreba pomoc znam gdje cu pitati :D

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice