Proszę na szybko c++
ZADANIE:


Zadanie
Wczytaj N liczb i wypisz największą z wczytanych.

Wejście
Podaj N gdzie 100000 następnie wczytaj N liczb typu int

Wyjście
Największa spośród wczytanych liczb

Przykład
Dla danych wejściowych

5
12 34 22 54 1
poprawną odpowiedzią jest
54


Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

int

main ()

{

 int n, i, biggest;

 cin >> n;

 int liczba[n];

 for (i = 0; i <= n; ++i)

   cin >> liczba[i];

   

   biggest = 0;

 for (i = 0; i <= n-1; ++i) {

     if (liczba[i] > biggest)

 biggest = liczba[i];

   }

 cout << biggest;

 return 0;

}

Kod programu wygląda następująco:

#include <iostream>

#include <ctime>

#include <stdlib.h>

using namespace std;

int main()

{

srand((unsigned) time(NULL));

int N=100000;

int inp[N];

for(int i=0;i<N;i++)

{

 inp[i]=rand();

}

int max=inp[0];

for(int i=1;i<N;i++)

{

 if(inp[i]>max)

  max=inp[i];

}

cout<<"Wartosc maksymalna:\t"<<max<<endl;

return 0;

}

zastosowałem generator pseudolosowy, aby nie wpisywać N liczb z głowy.

Sedno programu to porównywanie, gdzie a priori mówię, że wartość maksymalna to pierwsza wpisanych liczb (inp[0]), a następnie sprawdzam, czy kolejna (inp[1]) jest większa. Jeśli tak, to ta nową wartością maksymalną staje się inp[1], jeśli nie, to w dalszym ciągu max=inp[0]. W ten sposób w każdym kroku aktualizują wartość maksymalną, aż do inp[N]

pozdrawiam