C programski jezik, Nizovi

Potrebno je napraviti program slican Bingu i probao sam na ovaj nacin:

[code]
#include <stdlib.h> /* koristimo funkciju rand() /
#include <time.h> /
koristimo funkciju time() */

#define MIN 1
#define MAX 48
int f()
{
static int i=0;
++i;
return i;
}
void main ()
{
int unesenibrojevi[6], generisani[25],i,c,brojac=0;

srand(time(0));
printf(“Molimo Vas da unesete Vasih 6 brojeva, od 1 do 48.\n”);
for(i=0;i<6;i++)
scanf("%d",&unesenibrojevi[6]);
for(i=0;i<25;i++)
{
generisani[i] = MIN + rand() % MAX ;
printf(“Broj je: %d \n”, generisani[i]);
}
for(i=0;i<25;i++){
if(unesenibrojevi[i]==generisani[i])

brojac=brojac+1;
else printf(“Nemate pogodaka\n”);

printf(“Pritisnite bilo koju tipku za kraj %d\n”,brojac);
system(“Pause”);
}
}[/code]

Interesuje me samo kako porediti clanove niza ? dakle svaki broj da se poredi sa svakim clanom drugog niza ?
hvala unaprijed

Moras da uradis na primer for u for stim sto imaju dve promnnjive za index tako da bi u unutrasnjem foru poredio index-e a samim tim i vrednosti nizova sa istim index-ima.

max=25; for(i=0;i<max;i++) { for(j=0;j<max;j++) { if(i==j) { printf(generisani[i])); //ili printf(generisani[j])); zavisi sta ti treba } } } 

ne znam da li je isprana sintaksa ali princip je taj sigurno. Srecno :smiley:

for(i=0;i<25;i++){
for(j=0;j<6;j++)
{
if(unesenibrojevi[j]==generisani[i])
printf(“Imate pogodjenih brojeva %d”,brojac++);
else printf(“Nemate pogodaka\n”);}

Ovo sam probao ali ne ide :S

EDIT: U zadatku ja ukucam 6 brojeva od 1-48, a program generise 25 slucajnih brojeva i onda mi kaze koliko sam imao pogodjenih brojeva.

Moras da uradis debug step by step :confused: daj mi .c na [email protected] da uradim debug

Brate poslao sam ti email pa pogledaj

Gotovo :smiley: trebalo bi da uradis da brojevi koji se unose budu u domenu do broja i vrednosti 45…i ako se unese veci od 45 da brojac vrati za jedno mesto u nazad :smiley:

#include <stdio.h>

#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <ctype.h>

#define MIN 1
#define MAX 48
int f()
{
static int i=0;
++i;
return i;
}
void main ()
{
int unesenibrojevi[6], generisani[25],i,j,brojac=0;

srand(time(0));
printf(“Molimo Vas da unesete Vasih 6 brojeva, od 1 do 48.\n”);
for(j=0;j<6;j++)
scanf("%d",&unesenibrojevi[j]);
for(i=0;i<25;i++)
{
generisani[i] = MIN + rand() % MAX ;
printf(“Broj je: %d \n”, generisani[i]);
}
for(i=0;i<25;i++){
for(j=0;j<6;j++)
{
if(unesenibrojevi[j]==generisani[i])
{
brojac++;
}

}

}
if(brojac==0)
{
printf(“Nemate pogodaka\n”);
}
if(brojac>0)
{
printf(“Imate pogodjenih brojeva %d\n”,brojac++);
}

printf(“Press Any Key to Continue\n”);
_getch();

}

Evo sa ispravkom akos e pogresi broj da ne puca program tj. da se nastavi :smiley:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <ctype.h>

#define MIN 1
#define MAX 48

int f()
{
static int i=0;
++i;
return i;
}
void main ()
{
int unesenibrojevi[6], generisani[25],i,j,max=48,brojac=0;

srand(time(0));
printf(“Molimo Vas da unesete Vasih 6 brojeva, od 1 do 48.\n”);
for(j=0;j<6;j++)
{

scanf("%d",&unesenibrojevi[j]);
if(unesenibrojevi[j]>max)
{
j–;
printf(“Broj je: %d je veci od 45 unesite brojeve od 1 do 45!!!\n”, generisani[j]);

}

}
for(i=0;i<25;i++)
{
generisani[i] = MIN + rand() % MAX ;
printf(“Izabrani brojevi su: %d \n”, generisani[i]);
}
for(i=0;i<25;i++){
for(j=0;j<6;j++)
{
if(unesenibrojevi[j]==generisani[i])
{
brojac++;
}

}

}
if(brojac==0)
{
printf(“Nemate pogodaka\n”);
}
if(brojac>0)
{
printf(“Imate pogodjenih brojeva %d\n”,brojac++);
}

printf(“Press Any Key to Continue\n”);
_getch();

}

1 Like

Eh hvala ti drug
Izgleda da ovi blokovi mnogo znace jer sam probao sa dvaput FOR ali nije uspjelo zbog pogresno oznacenih blokova…
Sada se moze uljepsavati i igrati hvala ti jos jednom (Y)

Tu smo da se pomazemo :smiley: pa pazi meni pomazu bokovi da mogu da se orjentisem :smiley:
Vazno je da bingo radi a ti polako sredjuj :smiley:
Pozdrav i svako dobro.

1 Like