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

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

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

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

19.01.2014, 11:50. Просмотров 369. Ответов 2
Метки нет (Все метки)

Добрый день уважаемые форумчане!
На днях возник вопрос, как найти среднее арифметическое строк, исключая нулевые элементы, если там есть отрицательный элемент. А получившиеся значения записать в отдельный массив. Помогите пожалуйста с решением задачи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 11:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Матрицы. Необходимо найти значение среднего арифметического строк матрицы, исключая нулевые, в случае, если строка имеет отрицательный элемент(ы) (C++):

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

Если число отрицательных элементов матрицы превышает число положительных, увеличить каждый её элемент на величину среднего арифметического её элем-ов - C++
Здравствуйте. Вот задание: Если число отрицательных элементов матрицы превышает число положительных, увеличить каждый её элемент на...

Если в заданной строке матрицы содержится ее максимальный отрицательный элемент, то ко всем элементам матрицы - C++
Дана целая A. Если в заданной строке матрицы содержится ее максимальный отрицательный элемент, то ко всем элементам матрицы из...

Если последняя строка данной матрицы содержит нулевые элементы - домножить все элементы матрицы на 10 - C++
Дана действительная матрица С(n*m).Если последняя строка данной матрицы содержит нулевые элементы то домножить все элементы матрицы на 10

Матрицы. Найти элементы, меньшие среднего арифметического - C++
Вот задача, мне срочно нужна ваша помощь... С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти элементы...

Найти элементы матрицы, меньшие среднего арифметического - C++
Как написать два цикла в одно, при выводе наименьшего среднего арифметического? //* С клавиатуры вводится размерность целочисленной...

2
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
19.01.2014, 12:10 #2
Alekskis, показывайте код, посмотрим, что у вас получилось
0
Alekskis
0 / 0 / 0
Регистрация: 19.01.2014
Сообщений: 2
19.01.2014, 16:45  [ТС] #3
На самом деле есть лишь генерация первоначальной матрицы, дальше делаю проверку, отрицателен ли элемент, но тут я уперся в стену: если элементов несколько, то как посчитать среднее арифметическое для каждой строки лишь 1 раз, а не несколько?
C++ (Qt)
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
32
33
34
35
36
37
38
39
40
41
#include<iostream>
#include<ctime>
#include<cmath>
using namespace std;
int main()
{ 
    setlocale(LC_ALL, "Russian");
    int a,b,n,m,s=0,sr=0;
    bool f=1;
cout<<"Ââåäèòå Г°Г*çìåðГ*îñòü Г¬Г*Г±Г±ГЁГўГ*\n";
cin>>n>>m;
cout<<"Ââåäèòå Г*ГЁГ¦Г*ГЁГ© ïðåäåë èçìåГ*ГҐГ*ГЁГї ñëó÷Г*Г©Г*ûõ Г·ГЁГ±ГҐГ«\n";
cin>>a;
cout<<"Ââåäèòå âåðõГ*ГЁГ© ïðåäåë èçìåГ*ГҐГ*ГЁГї ñëó÷Г*Г©Г*ûõ Г·ГЁГ±ГҐГ«\n";
cin>>b;
double B[n],c[n][m];
 
cout<<"ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў "<<endl;
srand(time(0));
    for (int i=0;i<n; i++)
     {
         cout<<i<<")"<<"\t";
         for (int j=0; j<m; j++)
         {
             c[i][j]=a+rand()%(b-a+1);
             cout<<c[i][j]<<"\t";
            }
            cout<<endl; 
    }
     for (int i=0;i<n; i++)
      { for (int j=0; j<m; j++)
        { if (c[i][j]<0) cout<<i<<"  "<<j<<"\t|";
                   
           
    }
        
 cout<<s;
    cout<<endl;
 
    system("pause");
}
Добавлено через 1 час 7 минут
Для меня сложность задачи заключается именно в нахождении среднего арифметического строк.

Добавлено через 3 часа 11 минут
А вот и разобрался. Если кому интересно, то вот код
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include<iostream>
#include<ctime>
#include<cmath>
using namespace std;
int main()
{ 
    setlocale(LC_ALL, "Russian");
    int a,b,n,m,x=0;
    float sr=0,s=0;
    bool f=0;
cout<<"Ââåäèòå Г°Г*çìåðГ*îñòü Г¬Г*Г±Г±ГЁГўГ*\n";
cin>>n>>m;
cout<<"Ââåäèòå Г*ГЁГ¦Г*ГЁГ© ïðåäåë èçìåГ*ГҐГ*ГЁГї ñëó÷Г*Г©Г*ûõ Г·ГЁГ±ГҐГ«\n";
cin>>a;
cout<<"Ââåäèòå âåðõГ*ГЁГ© ïðåäåë èçìåГ*ГҐГ*ГЁГї ñëó÷Г*Г©Г*ûõ Г·ГЁГ±ГҐГ«\n";
cin>>b;
double B[n],c[n][m];
B[n]=0;
cout<<"ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў "<<endl;
srand(time(0));
    for (int i=0;i<n; i++)
     {
         cout<<i<<")"<<"\t";
         for (int j=0; j<m; j++)
         {
             c[i][j]=a+rand()%(b-a+1);
             cout<<c[i][j]<<"\t";
            }
            cout<<endl; 
    }
  for (int i=0;i<n; i++)
    { for (int j=0; j<m; j++)
     { if (c[i][j]<0)
        {
          for(int k=0;k<m;k++)
          {
                s=c[i][k]+s;
                if (c[i][k]==0) n=n-1;
                sr=1.0*(s/n);   
           }
              B[x]=sr;
              i++;j=0;
              x++;       
            s=0;
            sr=0; 
        }
    }
}
cout<<"Ïîëó÷èâøèéñÿ Г¬Г*Г±Г±ГЁГў B"<<endl;
for (int i=0;i<n;i++)
cout<<B[i]<<"\t";
    cout<<endl;
 
    system("pause");
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 16:45
Привет! Вот еще темы с ответами:

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

Найти значения тех элементов матрицы, которые больше среднего арифметического - C++
Если среднее арифметическое матрицы А положительно, задать элементам С1, C2, ..., Сi; значения тех элементов матрицы А, которые больше...

Найти количество строк матрицы, содержащих нулевые элементы - C++
В общем написал такую вот программу но есть проблемка-http://i037.***********/1210/47/d753a3df6509.jpg,не могу понять в чем дело,пожалуйста...

Составьте программу, обнуляющую главную диагональ матрицы, если в ней найдется хотя бы один отрицательный элемент - C++
Дан двумерный массив А(M, M) в виде квадратной матрицы. Составьте про-грамму, обнуляющую главную диагональ матрицы, если в ней найдется...


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

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

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