informatyka
gość: Pytanie informatyczne (łatwe)
jeśli mamy
max = tablica2[i];
i chcemy znaleźć wartość elementu z tablicy pierwszej o indeksie
takim jaki ma największy element tablicy drugiej, to jak to trzeba napisać?
załóżmy że wartość tego elementu to zmienna o nazwie "x"
16 paź 02:20
gość: Już nieważne. Znaczy ogarnęłam trochę inną metodą, ale i tak możecie napisać, bo ciekawi mnie
czy tak się da.
16 paź 02:36
karolek7777: pętla, sortowanie bąbelkowe, i masz wartość maksymalną
16 paź 16:14
Saizou :
np.
MAXI(tab1[1..n], tab2[1..k])
max=1
for i=1 to n do
if tab2[max]<tab2[i] then
max=i
if max> n then
pisz "tablica tab1 jest za krótka"
else
pisz tab1[max]
16 paź 16:22
karolek7777: Szukasz największego elementu w tablicy drugiej.
Następnie sprawdzasz czy indeks ten nie wykracza poza rozmiar tablicy.
Jeśli istnieje, to wypisujesz np. do konsoli, lub robisz co tam chcesz.
16 paź 16:24
karolek7777: poza rozmiar tablicy pierwszej ofc
16 paź 16:24
Dziadek Mróz:
tab1[5]
tab2[5]
max = tab1[0];
index = 0;
for (i = 1; i < 5; i++)
{
tab2[i] > max ? (max = tab2[i], index = i) : NULL;
}
printf("%d", tab1[index]);
16 paź 16:31
karolek7777: i=0; i<sizeOf(tab2)
16 paź 16:39
karolek7777: sizeof()/ typ tablicy
uzyskamy wtedy ilość elementow w tablicy
16 paź 16:43
karolek7777: 16:31
Dziadek Mróz, Twoje rozwiązanie jest mało eleganckie. Dla uproszczenia można tak przyjąć, ale
na egz nie radze.
16 paź 16:49
Dziadek Mróz:
sizeof() nie sprawdzi się na wskaźniku
16 paź 17:03
karolek7777: jak nie jak tak
sizeof tablica1 / sizeof *tablica1
16 paź 17:04
Dziadek Mróz:
int *tab1 = (int *)malloc(5 * sizeof(int));
sizeof(tab1) → 4
16 paź 17:05
Dziadek Mróz:
sizeof(tab1)/sizeof(*tab1) = 4/4 = 1
16 paź 17:06
karolek7777: no na wskaźnik nie da rady, racja
16 paź 17:15