Witam, jako iż uczę się programowania w c++ to po każdym obejrzanym robię zadania na podstawie tego co się nauczyłem.
Zadanie w skrócie: wczytywanie x liczb, znajdowanie największej i najmniejszej i wypisanie ile razy wystąpiła. Wyszło tak:
#include<iostream>
#include<cstdlib>
#include <stdio.h>
using namespace std;
int ile, najw, najm, ile_x=1,ile_y=1;
int main()
{
cout << "Z ilu liczb chcesz wyznaczyc najwieksza?:";
cin >> ile;
cout << "Podaj 1 liczbe:";
cin >> najw;
najm = najw;
int liczby[ile];
for (int x=1; x<ile; x++)
{
cout << "Podaj "<<x+1<< " liczbe:";
cin >> liczby[x];
if (najw>liczby[x])
najw =najw;
else if (najw<liczby[x])
najw = liczby[x];
}
for (int x=1; x<ile; x++)
{
if (najm>liczby[x])
najm = liczby[x];
else if (najm<liczby[x])
najm = najm;
}
for (int x=1; x<ile; x++)
{
if (liczby[x]==najw)
ile_x++;
else if (liczby[x]==najm)
ile_y++;
if (liczby[x]==najm)
{
cout << "Najwieksza a zarazem najmniejsza liczba to:"<<najm;
cout << " wystepuje: "<<ile<< " razy";
break;
}
if (ile_x-1==1&&(ile_y==1))
{
cout << "Najweksza liczba to: "<<najw<< ", wystepuje "<<ile_x-1<<" raz, najmniejsza jest: "<<najm<< " wystepuje "<<ile_y<< " raz.";
}
else if ((ile_x==1&&ile_y!=1))
{
cout << "Najweksza liczba to: "<<najw<< ", wystepuje "<<ile_x-1<<" raz, najmniejsza jest: "<<najm<< " wystepuje "<<ile_y<< " razy.";
}
else if ((ile_x!=1&&ile_y==1))
{
cout << "Najweksza liczba to: "<<najw<< ", wystepuje "<<ile_x-1<<" razy, najmniejsza jest: "<<najm<< " wystepuje "<<ile_y<< " raz.";
}
}
getchar();getchar();
}
Myslę, czy taki prosty program musiał zająć aż tyle linijek? Może popełniam błędy w kodowaniu. Dziękuję za odpowiedzi.