Другие языки программирования и технологии

Помогите решить задачку на С++,пожалуйста!

Adkham Murzaev
Adkham Murzaev
167
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
int g;
int n=0;
int f=0;
int a=0;
int b=0;
float e;
cout<<"Задайте количество элементов массива: \n";
cin>>g;
int y=g;
cout<<"Задайте число А: \n";
cin>>a;
int *m = new int[g];
cout<<"Введите поочередно элементы :\n";
while(y!=0)
{
cin>>m[n];
n++;
y--;
}
for(n=0;g!=n;)
{
if(m[n]>a)
{
f=f+m[n];
n++;b++;
}
else
n++;
}
e=f/b;
cout<<"\nСреднее арифметическое = ";//после ковычек напиши два знака меньше как вначале и переменную е
cin.get();
cin.get();
};
Александр Распутин
Александр Распутин
552
Лучший ответ
1. в цикле по всем элементам массива сравниваем значение элемента с А, если оно больше, то добавляем его к сумме, а количество таких элементов увеличиваем на 1. после цикла сумму делим на количество
2. первые два элемента массива 0 и 1. в цикле от 2 до N x[k] = x[k-1] + x[k-2]

если проблема с указателями, так там все просто: вместо квадратных скобок прибавляем индекс к имени массива, берем сумму в скобки, перед скобками ставим *
x[k] -> *(x+k)
Ну это же просто.

1. Где они хранятся? Если в массиве, юзай циклы и проверяй. Если число больше А, добавляй в ещё один массив.
if(n > A) { (действие) }
Потом узнавай длину (Length) этого массива, добавляй в отдельную переменную int. Затем складывай все эти числа вместе и дели на эту переменную.
2. Тут уже сама. :)
Артём Зотов
Артём Зотов
1 346
напиши мне в агент - помогу