Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fruktovaya
1 / 1 / 0
Регистрация: 31.10.2011
Сообщений: 26
#1

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

12.04.2012, 09:33. Просмотров 685. Ответов 3
Метки нет (Все метки)

Задана матрица Z(5,4). Найти в каждой строке, если там есть отрицательный элемент, среднее арифметическое всех элементов, исключая нулевые и записать эти значения в массив B. Вывести исходную матрицу Z и массив B.

не получается даже написать рандомное заполнение массива(((

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 "stdafx.h"
#include <iostream>
#include <math.h> 
#include <stdlib.h>
#include <time.h>
using namespace std; 
void main()
{
 
int i,j;
double a[5][4];
srand(time(NULL));
 
for(i=0; i<6; i++)
for(j=0; j<5; j++)
a[i][j]=rand()%100; 
{for(i=0; i<6; i++)
{
for(j=0; j<5; j++)
cout«a[i][j];
}
}
system ("pause");
}
вроде всё норм, но ошибка...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2012, 09:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти в каждой строке, если там есть отрицательный элемент, среднее арифметическое всех элементов, исключая нулевые и записать эти значения в массив B (C++):

Матрицы. Необходимо найти значение среднего арифметического строк матрицы, исключая нулевые, в случае, если строка имеет отрицательный элемент(ы) - C++
Добрый день уважаемые форумчане! На днях возник вопрос, как найти среднее арифметическое строк, исключая нулевые элементы, если там есть...

Массив: Найти первый отрицательный элемент в каждой строке и последний четный элемент в каждом столбце. - C++
Дан двумерный массив двухбайтовых знаковых целочисленных элементов 5*8. Полагаем,что в каждой строке хотя бы 1 элемент отрицательный,а в...

Даны два массива. Найти среднее арифметическое элементов каждого и сравнить эти значения - C++
Даны два массива. Найти среднее арифметическое элементов каждого и сравнить эти значения

В каждой строке матрицы найти количество элементов делящихся на 3 и отсортировать эти значения - C++
В каждой строке матрицы найти количество элементов делящихся на 3 и отсортировать эти значения

Для каждой строки матрицы определить максимальный отрицательный элемент и среднее арифметическое положительных - C++
Здравствуйте. Помогите пожалуйста написать программу: С клавиатуры вводятся два целых числа – М и К. 1&lt;M&lt;10, 1&lt;K&lt;10. (М – число...

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

3
voral
536 / 520 / 92
Регистрация: 16.03.2008
Сообщений: 2,389
12.04.2012, 09:40 #2
На очередных итерациях в строках 14, 15, 17, 19 у Вас i достигает значения 5, а j 4. Т.е. на последней итерации происходит обращение к элементу a[5][4]. Однако у вас задан размер массива double a[5][4]. Что эта запись значит? Объясняю на примере одномерного массива:
double a[5] - это значит что массив a содержит 5 элементов с индексами от 0 до 4 .
Т.е. в вашем случае самый последний элемент массива a[4][3]
1
fruktovaya
1 / 1 / 0
Регистрация: 31.10.2011
Сообщений: 26
12.04.2012, 09:50  [ТС] #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
#include "stdafx.h"
#include <iostream>
#include <math.h> 
#include <stdlib.h>
#include <time.h>
using namespace std; 
void main()
{
 
int i,j;
double a[5][4];
srand(time(NULL));
 
for(i=0; i<5; i++)
for(j=0; j<4; j++)
a[i][j]=rand()%200-50; 
{for(i=0; i<5; i++)
 
for(j=0; j<4; j++)
cout<<a[i][j];
 
}
system ("pause");
}

форы исправлены, теперь проблема с некрасивым выводом... и нахождением среднего арифметического
0
voral
536 / 520 / 92
Регистрация: 16.03.2008
Сообщений: 2,389
12.04.2012, 10:43 #4
По поводу форматрирования почитайте Флаги форматирования и манипуляторы
По сути вам будут необходимы: std::setw и std::endl
т.е. примерно так
C++
1
2
3
4
5
6
for(i=0; i<5; i++)
{ 
    for(j=0; j<4; j++)
        cout << setw(6) << a[i][j];
    cout << endl;
}
По среднему. Можно в отдельном цикле или в цикле генерации массива. Заводите переменную-флаг наличия отрицательного числа и переменную-сумма строки. Перед генерации очередной строки устанавливаете ее в false или в 0 (в зависимости от выбранного типа). Переменной сумма строки присваиваете 0.
После генерции очередного значения прибавляете его к сумме. Проверяет на отрицательность - если отрицательное включаете флаг.
После ввода сторки проверяете флаг. Если включен то делите сумму на количество элементов в строке. И делаете с этим числом то, что вам нужно
1
12.04.2012, 10:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2012, 10:43
Привет! Вот еще темы с ответами:

Создать новый массив, занеся в каждый элемент среднее арифметическое всех предыдущих элементов - C++
В общем у меня есть задание: Дан одномерный массив вещественных чисел А. .Отсортировать массив В методом выбора и вывести на экран оба...

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

Найти в каждой строке матрицы наибольший элемент и записать его в одномерный массив - C++
Здравствуйте! Если не трудно, не могли бы вы мне немного помочь. Условие задачи такое: //Написать программу в 3 функциях: //1 функция...

Массив: Найти среднее арифметическое из всех положительных элементов этой матрицы - C++
Привет всем) пожалуйста решите пару задач по теме массивы)) очень надо сдать эти задачи) а сроки поджимают) 1)Найти среднее ...


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

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

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