Форум программистов, компьютерный форум CyberForum.ru

В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов - C++

Восстановить пароль Регистрация
 
Vanek-klass
0 / 0 / 0
Регистрация: 01.06.2012
Сообщений: 12
15.06.2012, 20:21     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов #1
Создать числовой массив А[1..N].Значение N задается константой.Каждый элемент,равный нулю,заменить средним арифметическим всех элементов. Вывести на экран содержимое измененного массива.Составить блок схему
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 20:21     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов
Посмотрите здесь:

C++ Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива
Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов. C++
Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов C++
C++ В прямоугольной матрице каждый нулевой элемент заменить средним арифметическим значением ненулевых элементов той строки
Заменить в каждом массиве максимальный элемент средним арифметическим положительных элементов (если оно существует) соответствующего массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 146
15.06.2012, 23:51     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов #2
Вот код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
int main()
{
    int n=7;
    int massiv[n];
    for (int i=0; i<n; i++)
    {
        massiv[i]=0;
    }
    int a=0;
    for (int i=1; i<=n; i++)
    {
        a=a+i;
    }
    float sredArif;
    sredArif=a/n;
    for (int i=0; i<n; i++)
    {
        massiv[i]=sredArif;
    }
    for (int i=0; i<n; i++)
    {
        std::cout<<massiv[i]<<".";
    }
    char resp;
    std::cin>>resp;
    return 0;
}
Добавлено через 14 минут
Есть нюанс. Если среднее арифметическое дробное, то в массив запишеть лишь целая часть, по причине того что компилятор не дает массиву иметь тип данных отличный от int и char. Плюс перечитал задание, мне кажеться что я не правильно его понял, если не трудно напишите более доступно.)
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
15.06.2012, 23:59     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
 
using namespace std; 
 
int main()
{
    int n;
    cout<<"n = ";
    cin>>n;
 
    double *x = new double [n];
    double s = 0;
    cout<<"Enter elements: ";
    for (int i = 0; i < n; i++)
    {
        cin>>x[i];
        s += x[i];
    }
    s /= n;
 
    cout<<"Result: ";
    for (int i = 0; i < n; i++)
    {
        if(!x[i]) x[i] = s;
        cout<<x[i]<<" ";
    }
    cout<<endl;
    delete [] x;
    system("pause");
    return 0;
}
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 146
16.06.2012, 00:10     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов #4
Не могу понять, к чему эта строка :
C++
1
cout<<"Enter elements: ";
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
16.06.2012, 02:14     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов #5
Цитата Сообщение от XpertVision Посмотреть сообщение
Не могу понять, к чему эта строка :
C++
1
cout<<"Enter elements: ";

Не по теме:

а что вас смущает?


В консоли выводится строка Enter elements:, после чего вводятся элементы.
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 146
16.06.2012, 02:42     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов #6
Прошу прощения, не заметил.
Yandex
Объявления
16.06.2012, 02:42     В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов
Ответ Создать тему
Опции темы

Текущее время: 20:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru