Forum » Programiranje » ena naloga v c-ju v zvezi s tabelami
ena naloga v c-ju v zvezi s tabelami
lebdim ::
Imam eno nalogo: Imamo tabelo n celih števil. Napiši funkcijo, ki bo vrnila največji element v tej tabeli.
Zanima me zakaj mi ne dela.
Prilagam kodo:
int najvecji(int *tab[100], int vel) {
int max=*tab[0], i;
//for zanka od i = 1 do vel
if (*tab[i]>max)
max=*tab[i];
}
printf("%d", max);
}
void main() {
int i, n;
int tabela[100];
printf("Napisi velikost tabele: ");
scanf("%d", &n);
// for zanka od i = 1 do n
tabela[i]=i;
printf("%d ", tabela[i]);
}
printf("\nNajvecji element v tabeli je %d.\n", najvecji(&tabela[100], n));
system("PAUSE");
}
Zanima me zakaj mi ne dela.
Prilagam kodo:
int najvecji(int *tab[100], int vel) {
int max=*tab[0], i;
//for zanka od i = 1 do vel
if (*tab[i]>max)
max=*tab[i];
}
printf("%d", max);
}
void main() {
int i, n;
int tabela[100];
printf("Napisi velikost tabele: ");
scanf("%d", &n);
// for zanka od i = 1 do n
tabela[i]=i;
printf("%d ", tabela[i]);
}
printf("\nNajvecji element v tabeli je %d.\n", najvecji(&tabela[100], n));
system("PAUSE");
}
srus ::
Problem je prenos naslova tabele v funkcijo - ti preneseš naslov "100. elementa"
najvecji(&tabela[100], n)
kar je fizično v pomnilniku naslov za koncem tabele, ki ima sicer elemente 0 do 99. Verjetno bo dovolj, če boš funkcijo klical z naslovom prvega elementa
najvecji(&tabela[0], n) ali še enostavnje najvecji(tabela, n)
Ravno tako se moraš v funkciji najvecji pravilno zapeljati čez celo tabelo - ali s pomočjo kazalca, ali indeksa, ki ju na začetku pravilno prirediš in nato pravilno povečuješ.
najvecji(&tabela[100], n)
kar je fizično v pomnilniku naslov za koncem tabele, ki ima sicer elemente 0 do 99. Verjetno bo dovolj, če boš funkcijo klical z naslovom prvega elementa
najvecji(&tabela[0], n) ali še enostavnje najvecji(tabela, n)
Ravno tako se moraš v funkciji najvecji pravilno zapeljati čez celo tabelo - ali s pomočjo kazalca, ali indeksa, ki ju na začetku pravilno prirediš in nato pravilno povečuješ.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Java passingOddelek: Programiranje | 3604 (3257) | mihibo5 |
» | [C] Branje iz datotekeOddelek: Programiranje | 1718 (1549) | BigWhale |
» | [c++]UrejanjepoljaOddelek: Programiranje | 1357 (1178) | purki |
» | [C++][Naloga_polja]MIN in MAX polja, izpis za x.100 stevilOddelek: Programiranje | 2940 (2751) | snow |
» | [C++] for {}Oddelek: Programiranje | 1712 (1406) | Gundolf |