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 | 4025 (3678) | mihibo5 |
| » | [C] Branje iz datotekeOddelek: Programiranje | 1829 (1660) | BigWhale |
| » | [c++]UrejanjepoljaOddelek: Programiranje | 1461 (1282) | purki |
| » | [C++][Naloga_polja]MIN in MAX polja, izpis za x.100 stevilOddelek: Programiranje | 3061 (2872) | snow |
| » | [C++] for {}Oddelek: Programiranje | 1826 (1520) | Gundolf |