Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77

матрица

29.12.2010, 14:34. Показов 626. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дана действительная матрица размера mxn.Определить числа b1...bm,соответственно значениям средних арифметических элементов строк.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2010, 14:34
Ответы с готовыми решениями:

Симметричную матрицу сделать несимметричной
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N; int max_element; int...

9
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
29.12.2010, 15:47
Цитата Сообщение от besbyblik Посмотреть сообщение
дана действительная матрица размера mxn.Определить числа b1...bm,соответственно значениям средних арифметических элементов строк.
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main() 
{ 
      srand(static_cast<int>(time(NULL)));
      int **mat;
      int M,N;
      double sum=0; 
      cout<<"Enter number rows -> ";
      cin>>M;
      mat=new int*[M];
      cout<<"Enter number cols -> ";
      cin>>N;
      cout<<"Matrix: "<<endl;
       for(int i=0; i<M; i++)
        {
           mat[i]=new int[N];
            for(int j=0; j<N; j++)
            {
                mat[i][j]=rand()%40;
                cout<<mat[i][j]<<"  ";
            }
          cout<<endl;
        }
      cout<<"Result: "<<endl;
       for(int i=0; i<M; i++)
       {
           sum=0;
           for(int j=0; j<N; j++)
           {
               sum+=mat[i][j];
           }
         cout.precision(4);
         cout<<sum/N<<"  ";
       }
      for(int i=0; i<M; i++)
      {
          delete mat[i];
      }
      delete [] mat;
     system("pause");
     return 0;
}
1
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
29.12.2010, 16:08
Цитата Сообщение от MILAN Посмотреть сообщение
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main() 
{ 
      srand(static_cast<int>(time(NULL)));
      int **mat;
      int M,N;
      double sum=0; 
      cout<<"Enter number rows -> ";
      cin>>M;
      mat=new int*[M];
      cout<<"Enter number cols -> ";
      cin>>N;
      cout<<"Matrix: "<<endl;
       for(int i=0; i<M; i++)
        {
           mat[i]=new int[N];
            for(int j=0; j<N; j++)
            {
                mat[i][j]=rand()%40;
                cout<<mat[i][j]<<"  ";
            }
          cout<<endl;
        }
      cout<<"Result: "<<endl;
       for(int i=0; i<M; i++)
       {
           sum=0;
           for(int j=0; j<N; j++)
           {
               sum+=mat[i][j];
           }
         cout.precision(4);
         cout<<sum/N<<"  ";
       }
      for(int i=0; i<M; i++)
      {
          delete mat[i];
      }
      delete [] mat;
     system("pause");
     return 0;
}


Думаю, тип матрицы нужно сменить на double или float... Ведь элементы могут быть не целыми, а действительными...
1
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77
29.12.2010, 16:15  [ТС]
а где же среднее арифметическое выводит?

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
// casha.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#define n 4
#define m 3
using namespace std;
 
void main(){
int i,j;
int s=0;
int B[m],a[n];
int Matr[m][n];
cout<<"Введите элементы матрицы построчно"<<endl;
for (i=0;i<m;i++){
for (j=0;j<n;j++){
cin>>Matr[i][j];
s=s+a[j];
}
B[i]=s/n;
 
}
cout<<"Результат:";
for (i=0;i<m;i++){
cout<<"B["<<i+1<<"]="<<B[i];
}
}

но чето здесь не правильно мусор выводит
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
29.12.2010, 16:28
1) Ты n и m не вводишь в коде (cin>>m>>n. Циклы не проходят так, как надо.
2) Лучше объяви массивы и s так
C++
1
2
3
double s=0;
double B[m],a[n];
double Matr[m][n];
Тогда более то4но будет...

Добавлено через 4 минуты
Цитата Сообщение от besbyblik Посмотреть сообщение
s=s+a[j];
Тут s=s+Matr[i][j];

И в вывод добавь переход на новую строку.
C++
1
2
3
for (i=0;i<m;i++){
cout<<"B["<<i+1<<"] = "<<B[i]<<"\n";
}
0
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77
29.12.2010, 16:34  [ТС]
Тут s=s+Matr[i][j];
почему так?
если сказано сумма строк,а не всей матрицы.
можно как то без этого s=s+Matr[i][j]; обойтись а как то по другому?
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
29.12.2010, 16:44
Зачем? Нужно только так. Мы проходим по строке, и сумму элементов делим на ихнее количество.
Кстати, ещё одна грубая ошибка.
После B[i]=s/n; обязательно нужно обнулять значение сумы!

C++
1
2
B[i]=s/n;
s=0;
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
29.12.2010, 16:49
besbyblik, чем вам мой вариант не нравится?
0
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77
29.12.2010, 16:50  [ТС]
а потом столбцы удалять нужно.да?
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
29.12.2010, 16:57
Да ну зачем удалять?
Вводим количество строк и столбцов в матрице, потом - саму матрицу.
Мы прошли по первой строке, вычеслили сумму её элементов и поделили на количество. Вывели среднее арифметическое, сумму обнулили.
Потом на следующую строку перешли, то же самое сделали. И так до конца матрицы.
И всё )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2010, 16:57
Помогаю со студенческими работами здесь

Шаблон функции матрица-матрица
не понимаю как сделать шаблон для этого функции. Нужно написать для типа int и float. Операция матрица-матрица. void...

Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E единичная матрица порядка n
Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E-единичная матрица порядка n. Помогите...

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица"
Нужно определить класс &quot;матрица&quot; с возможностью динамического выделения и освобождения памяти, наполнения матрицы, сохранения и чтения из...

Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной.
Ребят,помогите решить задачу &quot;Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной&quot;

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью функций и процедур. Ввод-вывод в текстовый...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru