Funkcja zwracająca największą ujemną liczbę z tablicy

Funkcja zwracająca największą ujemną liczbę z tablicy
MM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Mam problem z programem w języku C, ma to być funkcja np. int MaxUjemna(int tab[], int rozmiar), funkcja ma zwrócić największą ujemną liczbę w tablicy. Np. dla tab[5]={1,2,-1,0,-4} funkcja zwróci -1. Mój problem polega na tym, że nie mam pojęcia jak do tego się zabrać od strony algorytmu, planowałem skopiować z tab do np. nowej tab z argumentami ujemnymi i tam znaleźć największą ujemną i zwrócić returnem hhm??

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
3
Kopiuj
for (i = 0; i < rozmiar && tab[i] >= 0; ++i);    // tu jest srednik
if (i >= rozmiar) return;           // nie ma
for (; i < rozmiar; ++i)
    if (tab[i] < 0 && tab[i] > max)
         max = tab[i];
MM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Dzięki wielkie za pomoc! Od godziny nad tym myślałem i się zaciąłem:P Teraz wszystko jasne.

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
1

Po małych korektach:

Kopiuj
for (i = 0; i < rozmiar && tab[i] >= 0; ++i)
   ;    

if (i >= rozmiar) // nie ma
   return 0;           

max = tab[i];

for (; i < rozmiar; ++i)
    if (tab[i] < 0 && tab[i] > max)
         max = tab[i];

return max;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.