С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Fit_28
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 8
1

Определить количество ненулевых элементов в массиве

13.05.2016, 17:50. Просмотров 946. Ответов 8
Метки нет (Все метки)

Добрый время суток, буду рад если поможете.. Не как не получается.
Определить количество не нулевых элементов в массиве вещественных чисел и их среднее антисемитическое. Записать все через цикл и составить блок схему!
Заранее, спасибо большое!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2016, 17:50
Ответы с готовыми решениями:

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение ненулевых элементов, количество элементов,...

Определить количество ненулевых элементов матрицы
Дана целочисленная прямоугольная матрица . Написать программу, определяющую...

Определить количество ненулевых элементов в каждой нечетной строке матрицы
Определить количество ненулевых элементов в каждой нечетной строке матрицы G...

Определить для каждого четного столбца: количество ненулевых элементов и их произведение
Язык С++ Дана матрица X. Определить для каждого четного столбца: количество...

В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов.
1. В массиве A из N элементов (N не больше 30) определить количество элементов,...

8
VxVxN
3 / 3 / 2
Регистрация: 26.02.2012
Сообщений: 65
13.05.2016, 19:22 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(array<System::String ^> ^args)
{
    setlocale(LC_ALL, "RUS");
    const int n = 6;
    int k = 0; //не нулевые эллементы
    double srAnti = 0; //среднее антисемитическое
    double mas[n] = { 2.0, 0, 8.0, 3.0, 7.0, 0 };
    for (int i(0); i < n; i++){
        if (mas[i] != 0){
            k++;
        }
        srAnti += mas[i];
    }
    srAnti = srAnti / n;
    cout << "Количество не нулевыx элементов: " << k << endl;
    cout << "Cреднее антисемитическое: " << srAnti << endl;
    system("pause");
    return 0;
}
1
Fit_28
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 8
14.05.2016, 12:12  [ТС] 3
а можете под редактировать, что-бы массив вводился самим пользователем!
0
Lemanos
13 / 13 / 8
Регистрация: 02.04.2016
Сообщений: 106
14.05.2016, 12:44 4
Fit_28,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "russian");
    int n;
    double sum = 0, count = 0;
    cout << "Введите количество элементов массива: ";
    cin >> n;
    double *mas = new double[n];
    cout << "Введите элементы массива: ";
    for (int i = 0; i < n; i++)
    {
        cin >> mas[i];
        sum += mas[i];
        if (mas[i] != 0)
            count++;
    }
    cout << "Количество ненулевых элементов: " << count << endl;
    cout << "Среднее арифметическое: " << (double)sum / count << endl;
    system("pause");
    return 0;
}
Добавлено через 9 минут
Цитата Сообщение от Fit_28 Посмотреть сообщение
среднее антисемитическое
Единственное, я не понял, что за антисемитическое... Это с Семитами и Антисемитами связано?)
Я так понял, Вы имели ввиду "среднее арифметическое"..
0
skales007
18 / 18 / 9
Регистрация: 09.07.2015
Сообщений: 91
Записей в блоге: 2
14.05.2016, 13:07 5
VxVxN, у вас считает среднее антисемитическое =D (арифметическое) от всех значений в массиве.
Lemanos, прошу прощения, но не понял, зачем
C++
1
(double)sum / count
sum приводить к double, если оно у вас и так double
0
Lemanos
13 / 13 / 8
Регистрация: 02.04.2016
Сообщений: 106
14.05.2016, 15:49 6
skales007,
чтобы не вводить что-то типа
C++
1
2
3
4
double sredn =0;
//весь текст программы
sredn = sum / count;
cout << sredn;
можно сразу вывести sum/count, но т.к. у меня изначально count был типа int, то дабл / инт = жираф, вы понимаете о чем я? Поэтому сразу перед действием можно прописать (double), тем самым вы указываете, что последующее значение должно получиться именно double, тем самым sum/count = вещественное число, а не округленное целое int. Если не хотите писать так, то просто замените вышеуказанным..
Получится:
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
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "russian");
    int n;
    double sum = 0, count = 0, sredn = 0;
    cout << "Введите количество элементов массива: ";
    cin >> n;
    double *mas = new double[n];
    cout << "Введите элементы массива: ";
    for (int i = 0; i < n; i++)
    {
        cin >> mas[i];
        sum += mas[i];
        if (mas[i] != 0)
            count++;
    }
    sredn = sum / count;
    cout << "Количество ненулевых элементов: " << count << endl;
    cout << "Среднее арифметическое: " << sredn << endl;
    system("pause");
    return 0;
}
Добавлено через 1 час 13 минут
Цитата Сообщение от skales007 Посмотреть сообщение
sum приводить к double, если оно у вас и так double
Потому что я редактировал код на ходу Изначально было int count , а не double count. Поэтому решил значение принудительно выводить в дабле, ведь так правильно?!
1
Fit_28
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 8
14.05.2016, 16:35  [ТС] 7
Спасибо большое!
0
skales007
18 / 18 / 9
Регистрация: 09.07.2015
Сообщений: 91
Записей в блоге: 2
14.05.2016, 20:33 8
Цитата Сообщение от Lemanos Посмотреть сообщение
дабл / инт = жираф
Видимо я чего то не понимаю.. вы ведь привели к типу double не все выражение, а только переменную sum, когда она у вас и так double. Так как одна из переменных (sum) в вашем выражении уже дабл, то в результате вычисления sum / count получится тоже самое. Во всяком случае, я так всегда считал, ведь sum - число с большей точностью, нежели count..
0
Fit_28
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 8
21.05.2016, 15:34  [ТС] 9
Можете накидать хотя бы схематично(приблизительно) накинуть блок схему?!
0
21.05.2016, 15:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2016, 15:34

В массиве А(n) (n<=7) хотя бы один нуль. Определить количество положительных и количество отрицательных элементов к первому нулю.
В массиве А(n) (n&lt;=7) хотя бы один нуль. Определить количество положительных и...

В массиве из 50 элементов определить количество элементов, кратных 6 и найти минимальный элемент
В массиве из 50 элементов определить количество элементов, кратных 6 и найти...

В массиве X определить количество элементов
В массиве X определить количество элементов меньших среднего ариф*метического...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru