Informatică, întrebare adresată de vasileandrei71, 9 ani în urmă

Va rog, este urgent.

Anexe:

Răspunsuri la întrebare

Răspuns de StarBack
0

Salut. Ți-am lăsat mai jos rezolvarea problemei. Succes!

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream in("medii.in");

int main()

{

int n;

double elevi[35];

int poz = 1;

in >> n;

in >> elevi[0];

double maxim = elevi[0];

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

{

 in >> elevi[i];

 if (elevi[i] > maxim)

 {

  maxim = elevi[i];

  poz = i;

 }

}

cout << "Media cea mai mare: " << maxim;

cout << "\nPozitia: " << poz + 1;

}

Explicație:

Algoritmul constă în determinarea valorii maxime din vector și reținerea acesteia într-o variabilă locală și poziția acesteia in vector.

Mai întâi am inițializat variabila „poz” cu valoarea 1. Apoi am citit „n” (acesta fiind numărul de elevi) și prima valoare din fișier, pe care am reținut-o în variabila „maxim”. După care am parcurs șirul să văd dacă mai există o valoare în șir care să fie mai mare ca maximul precedent. Dacă am găsit o asemenea valoare, atunci reinițializează variabila „maxim” cu aceea valoare. De asemenea, tot aici am reținut și poziția valorii maxime. În final le-am afișat pe ecran.

Alte întrebări interesante