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

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

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

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
19.01.2014, 12:10     Матрицы. Необходимо найти значение среднего арифметического строк матрицы, исключая нулевые, в случае, если строка имеет отрицательный элемент(ы) #2
Alekskis, показывайте код, посмотрим, что у вас получилось
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");
}
Yandex
Объявления
19.01.2014, 16:45     Матрицы. Необходимо найти значение среднего арифметического строк матрицы, исключая нулевые, в случае, если строка имеет отрицательный элемент(ы)
Ответ Создать тему
Опции темы

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