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

Program in C++

Se citeşte de la tastatură un vector x=(x1, x2, … , xn). Se cere să se construiască vectorul y=(y1, y2, … ,yn) astfel încât

yk = (x1+x2+…+xk)/k +xk+1, dacă k ≤ n-1

yk = (x1+x2+…+xn)/n +x1, dacă k = n

Răspunsuri la întrebare

Răspuns de ElenaSF
1

Răspuns:

#include <iostream>

#include<vector>

using namespace std;

int suma(vector<int>x, int k, int n)

{

int yk = 0;

for (int i = 0; i <= k; i++)

{

 yk = yk + x[i];

}

if (k < n)

 return yk / (k+1 + x[k] + 1);

else

 if (k == n)

  return yk / (n + x[1]);

}

int main(){

int n,element;

vector<int>x, y;

cin >> n;

for (int i = 0; i < n; i++)

{

 cin >> element;

 x.push_back(element);

}

for (int i = 0; i < n; i++)

{

 y.push_back(suma(x,i,n));

}

for (int i = 0; i < n; i++)

{

 cout<<y[i]<<" ";

}

}


adymus: @ElenaSF Multumesc mult de tot pentru raspunsuri , m-ai salvat . O sa postez pe la 4/5 o intrebare cu un exercitiu avem test , daca esti cumva on as aprecia sa arunci un ochi . O zi frumoasa
Alte întrebări interesante