👤

Fisierul "numere.txt" contine mai multe numere reale separate prin spatii. Sa se afisieze pe ecran cele mai mari doua elemente distincete din acest fisier. Daca nu sunt doua numere distinte in fieiser, se va afisa mesajul IMPOSIBIL.

--------------------------------------

Ok, inca de la inceput imi dau seama ca voi avea nevoie de maxx1 si maxx2, iar programul incepe cam asa:

#
.
.
.
int
int main()
{while(fin>>x)

--------------------------

Nr. sunt reale, asta inseamna ca maxx1 si maxx2 trebuie sa fie initializate cu primele doua elemente din sir.Daca imi poate cineva explica cum se face problema, daca nu, e ok si linia de cod, voi incerca sa inteleg si singur.


Răspuns :

Salut! Ti-am facut o sursa C++ exact pe ideea indicata de tine...functioneaza. Succes!

#include <bits/stdc++.h>
using namespace std;
int n, ct, nr;
double x, max1, max2;
int main()
{
ifstream f("numere.txt");
f >> x;
nr = 1;
ct = 1;
max1 = max2 = x;
while(f >> x)
{
    nr ++;
        if(x > max1) max2 = max1, max1 = x;
 else
 {
     if(x > max2) max2 = x;
     if(x == max1) ct ++;
 }

}
if(ct == nr) cout << "IMPOSIBIL";
  else cout << max1 << " " << max2;
return 0;
}

Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!


Ez Askings: Alte intrebari