Informatică, întrebare adresată de dobre50, 8 ani în urmă

Din fisierul numere.in se citesc numere naturale. Sa se determine eficient cele mai mari doua valori din fisier.

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <fstream>

#include <iostream>

using namespace std;

ifstream in("numere.in");

int main()

{

 int l1 = -1000000, l2 = -1000000, n;

 while (in >> n)

 {

   if (n > l1)

   {

     l2 = l1;

     l1 = n;

   }

   else if (n > l2)

   {

     l2 = n;

   }

 }

 cout << l1 << " " << l2;

 return 0;

}

  • Ti-am atasat si fisierul mai jos
Anexe:
Răspuns de Felly45
0

#include<iostream.h>

#include<iostream.h>

#include <fstream.h>

#include<math.h>

void main()

{int max1,max2,x;

ifstream f("numere.txt");

max1=100;

max2=100;

while(f>>x)

{if(( abs(x) >=10 && abs(x) <=99 ) )

if(x>max1)

{max2=max1;

max1=x;

}

else

if(x>max2&& x!=max1)

max2=x;

}

if(max2==0)

cout<<"Nu exista";

else

cout<<max1<<" "<<max2;

cin>>x;

}

Sper să meargă.

N-am avut la îndemână codeblocks ca să încerc programul.

Baftă!!

Alte întrebări interesante