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

Cerinţa

Se dau n numere naturale. Determinați numărul pentru care prima cifră este maximă.
Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.
Date de ieşire

Programul afișează pe ecran numărul cerut M.
Restricţii şi precizări

1 ≤ n ≤ 1000
cele n numere citite vor avea cel mult 9 cifre
dacă există mai multe numere pentru care prima cifră este maximă, se va determina cel mai mare dintre acestea

Răspunsuri la întrebare

Răspuns de Cactus
4
#include <iostream>
using namespace std;
int prima_cifra(int n)
{    while(n>9)       
         n=n/10;   
return n;
}
int main()
{    int n,x[1000];   
      cin>>n;   
      for(int i=1;i<=n;i++)       
           cin>>x[i];   
     
      int max=0,M=0;   
    for(int i=1;i<=n;i++)       
      if(prima_cifra(x[i])>max)  max=prima_cifra(x[i]);   
     
    int ok=0;   
    for(int i=1;i<=n;i++)   
    {       
              if(prima_cifra(x[i])==max)           
               {               
                          if(ok==0) {M=x[i]; ok=1;}               
                           if(ok==1)                 
                            if(x[i]>M) M=x[i];           
               }   
      }   
     cout<<M;   
     return 0;
}
Răspuns de Utilizator anonim
3
include <iostream>
using namespace std;
int main ()
{
int n,i,a,cifra,max=0,a2,x;
cin>>n;
for (i=1;i<=n;i++)
{
cin>>a;
a2=a;
while (a)
{
cifra=a%10;
a=a/10;
}
if(cifra>max || cifra==max && a2>x)
{
max=cifra;x=a2;
}
}
cout<<x;
}
Alte întrebări interesante