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

Se citeste de la tastatura un vector cu cel mult 100 numere intregi.
a)Afisati pozitia pe care se afla ultimul numar par
b)Afisati cate elemente din vector sunt mai mici decat media aritmetica a tuturor elementelor
c)Afisati in fisierul rezultat.out elementele care apartin intervalului delimitat de primul si ultimul element din vector

Răspunsuri la întrebare

Răspuns de DamianCZ
0

Răspuns:

#include <fstream>

using namespace std;

ifstream fin("rezultat.in");

ofstream fout("rezultat.out");

int main()

{

   int v[101], poz, c = 0, s = 0, interval = 0, n, i;

   fin >> n;

   

   for (i=1; i<=n; i++)

   {

       fin >> v[i];

       

       if (v[i] % 2 == 0)

       {

           poz = i;

       }

       

       s = s + v[i];

   }

   

   for (i=1; i<=n; i++)

   {

       if (v[i] < s/n)

       {

           c++;

       }

   }

   

   fout << poz << " " << c << '\n';

   

   for (i=2; i<n; i++)

   {

       fout << v[i] << " ";

   }

}

Explicație:

Dacă vrei să afli câte numere sunt strict mai mici decât media aritmetică, atunci algoritmul de sus e corect, dacă vrei să afli câte numere sunt mai mici sau egal decat media aritmetică, înlocuiești:

if (v[i] < s/n) cu if (v[i] <= s/n)

De asemenea, nu știu cum vrei să fie afișarea, conform a ceea am făcut eu, se vor afișa primele două subpuncte pe prima linie, iar subpunctul c) pe a doua linie.

Alte întrebări interesante