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

Fișierul atestat.in conține cel mult 100 de numere naturale, separate prin câte un spațiu, având fiecare cel mult 8 cifre.

Să se scrie un program, în limbajul C++, care:
a) scrie pe ecran, în linie, separate prin câte un spațiu, numerele pare din șir, aflate pe poziții impare. Dacă nu există astfel de numere în șir, se va scrie pe ecran mesajul "NU EXISTĂ ".
b) scrie pe ecran, toate numerele din șir care au prima cifră egală cu ultima cifră. Dacă nu există astfel de numere în șir se va afișa mesajul "NU EXISTĂ".
c) scrie în fișierul atestat.out media aritmetică dintre cel mai mic și cel mai
mare număr din șir.(float ma; ma=(float) s/2;)

Exemplu:
atestat.in Date de ieșire:
7 11 8 16 5 37 21 4714 64 222 a)
b)

c) 8 64
7 11 8 5 4714 222
Fisierul atestat.out conține:
2359.5

Răspunsuri la întrebare

Răspuns de DenAcarsun
1
#include <ifstream>
#include <fstream>
using namespace std;
ifstream f("atestate.in");
ofstream g("arestate.out");
int main()

   int v[101],n,i,uc,o,y,p,max,min,s;
   float ma;
   f>>n;  //nr. de elemente ce vor fi citite
   for(i=1;i<=n;i++)
      f>>v[i];
   ok=0;
   for(i=1;i<=n;i++)
    {
       if(i%2!=0)
          if(v[i]%2==0)
            {
                cout<<v[i]<<' ';
                ok++;
            }
    }
   if(ok==0)
      cout<<"NU EXIZTA NR PARE PE LOCURILE IMPARE"<<endl;
        ok=0;
   for(i=1;i<=n;i++)
    {
       y=v[i];
       o=0;
       while(y!=0)
        {
           uc=y%10;
           o=o*10+uc;
           y=y/10;
        }
       p=o%10;
       uc=v[i]%10;
       if(p==uc)
        {
           cout<<v[i]<<' ';
           ok++;
        }
    }
   if(ok==0)
      cout<<"NU EXISTA"<<endl;

   //determinare max   max=v[1];
   for(i=2;i<=n;i++)
      if(v[i]>max)
         max=v[i];
   //determinare min
   min=v[1];
   for(i=2;i<=n;i++)
      if(v[i]<min)
         min=v[i];
   s=min+max;
   ma=s/2.0;
   g<<ma;
   return 0;
 } 

sper ca te-a ajuta cu ceva 
Alte întrebări interesante