[C++] Wyszukiwanie dwóch najmniejszych liczb

zuzka_kotek
Użytkownik
Użytkownik
Posty: 46
Rejestracja: 23 lut 2016, o 20:45
Płeć: Kobieta
Lokalizacja: Gdańsk
Podziękował: 4 razy

[C++] Wyszukiwanie dwóch najmniejszych liczb

Post autor: zuzka_kotek »

Mam za zadanie napisać funkcję z tablicą jako argument, która wyszuka 2 najmniejsze liczby oraz napiszę ich indeks. Napisałam taką funkcję tylko źle mi wyszukuje, wie ktoś może gdzie tkwi problem?

Kod: Zaznacz cały

void minimum(float tablica[])
{
   float mini_1,mini_2;
   mini_1=tablica[0];
   mini_2=tablica[1];
   int indeks_mini_1=0;
   int indeks_mini_2=1;
   if(mini_1>mini_2)
   {
       mini_1=tablica[1];
       mini_2=tablica[0];
       indeks_mini_1=1;
       indeks_mini_2=0;
   }
   for(int i=0;i<ROZMIAR;i++)
   {

       if(tablica[i]<mini_2)
        mini_2=tablica[i];
        indeks_mini_2=i;


        if(mini_1>mini_2||mini_1==mini_2)
   {
       mini_1=tablica[i];
       mini_2=tablica[1];
       indeks_mini_2=1;
       indeks_mini_1=i;



   }
   }
cout<<"Element najmniejszy nr_1: "<<mini_1<<endl;
cout<<"Index najmniejszego elementa nr_1: "<<indeks_mini_1<<endl;
cout<<"Element najmniejszy nr_2: "<<mini_2<<endl;
cout<<"
	Index najmniejszego elementa nr_2: "<<indeks_mini_2<<endl;



}
Ostatnio zmieniony 3 cze 2016, o 15:01 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
M Maciejewski
Użytkownik
Użytkownik
Posty: 318
Rejestracja: 14 maja 2016, o 16:25
Płeć: Mężczyzna
Lokalizacja: Toruń
Pomógł: 90 razy

[C++] Wyszukiwanie dwóch najmniejszych liczb

Post autor: M Maciejewski »

Wg mnie są dwie dziwne rzeczy.
Skoro przed pętlą mamy obsłużone dwa pierwsze elementy tablicy, to po co w pętli jeszcze raz je obsługiwać.

W części

Kod: Zaznacz cały

       mini_1=tablica[i];
       mini_2=tablica[1];
       indeks_mini_2=1;
       indeks_mini_1=i;
Nie wiem, czemu do mini_2 wstawiasz wartość tablica[1]. Powinnaś zamienić po prostu kolejność mini_1 i mini_2, indeks_mini1 i indeks_mini2.
ODPOWIEDZ