Advertisement
halexandru11

atestat_12.cpp

Nov 25th, 2020
63
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. // returneaza prima cifra a numarului x
  7. unsigned int prima_cifra(unsigned int x) {
  8.     while(x > 9) {
  9.         x /= 10;
  10.     }
  11.     return x;
  12. }
  13.  
  14. int main() {
  15.     ifstream fin("tablou.in");
  16.     ofstream fout("tablou.out");
  17.  
  18.     unsigned int n, cnt = 0;
  19.     unsigned int a[101];
  20.     double suma = 0;
  21.     // citim datale de intrare
  22.     // si calculam suma numerelor care au prima cifra egala cu ultima
  23.     // pentru punctul b
  24.     fin >> n;
  25.     for(int i = 0; i < n; ++i) {
  26.         fin >> a[i];
  27.         if(prima_cifra(a[i]) == a[i]%10) {
  28.             suma += a[i];
  29.             ++cnt;
  30.         }
  31.     }
  32.  
  33.     // afisam elementele vectorului in ordinea inversa citirii lor
  34.     for(int i = n-1; i >= 0; --i) {
  35.         fout << a[i] << " ";
  36.     }
  37.     fout << "\n";
  38.  
  39.     // afisam media aritmetica a numerelor care au prima cifra egala cu ultima
  40.     if(!cnt) {
  41.         fout << 0;
  42.     }
  43.     else {
  44.         fout << suma/cnt;
  45.     }
  46. }
  47.  
Advertisement
RAW Paste Data Copied
Advertisement