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

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

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

Не могу посчитать сумму максимальных элементов каждой строки - C++

24.04.2013, 17:57. Просмотров 505. Ответов 7
Метки нет (Все метки)

Не могу посчитать сумму максимальных элементов каждой строки.
Вообще задание звучит так: В матрице действительных чисел вычислить сумму их наибольших значений в строках и наименьших в столбцах.
Я брала матрицу 2х3. Не знаю почему не правильно выводит max элемент строки..
Вот код который у меня получился:
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
#pragma argsused
#include<iostream.h>
int main(int argc, char* argv[])
{const int n=2, m=3;
int A[n][m], Sum1, Sum2;
int i, j;
for(i=0; i<n; i++)
  for(j=0; j<m; j++)
  {cout<<"Vvedite element A="<<endl;
  cin>>A[i][j];
  }
 
cout<<"\n Vivod matrici A:"<<endl;
for(i=0; i<n; i++)
  {for(j=0; j<m; j++) cout<<A[i][j]<<" ";
  cout<<endl;
  }
 
Sum1=0;
int max=A[i][0];
for(j=1; j<m; j++)
if(A[i][j]>max) {max=A[i][j]; cout<<"max="<<max;
Sum1=Sum1+max;}
cout<<"Sum1="<<Sum1;
system("pause");
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 17:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу посчитать сумму максимальных элементов каждой строки (C++):

Вычислить сумму максимальных элементов каждой строки матрицы - C++
дана матрица А(4,5),В(5,6).вычислить Z=Pa+Pb, где n max{Xij} P = ∑ - сумма максимальных элементов каждой...

Сформировать двумерный массив и посчитать сумму элементов каждой строки - C++
Сформировать двумерный массив и посчитать сумму элементов каждой строки.

Переставить строки матрицы по возрастанию максимальных элементов каждой строки - C++
Дана целочисленная матрица м*н. Переставить строки матрицы по возрастанию максимальных элементов каждой строки.

Найти вектор максимальных элементов каждой строки матрицы - C++
Дана действительная матрица размером m n Найти вектор максимальных элементов каждой строки матрицы

Создать векторы из максимальных элементов каждой строки и каждого столбца матрицы - C++
Помогите решить, пожалуйста! Получить вектор B, каждый элемент которого максимальный элемент соответствующей строки и вектор C, каждый...

Посчитать сумму каждой нечетной строки матрицы - C++
Квадратная матрица размерностью n заполняется случайными числами в промежутках от 0 до 100. Посчитать сумму каждой нечетной строки

7
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.04.2013, 18:53 #2
clockwork_orang,

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
#include <iostream>
#include <iomanip>
#include <string>
#include <time.h>
#include <cstdlib>
using namespace std;
 
#define str 4
#define stb 4
 
int main()
{
    srand(time(NULL));
    int mas[str][stb];
 
    for(int i = 0; i < str; ++i)
        for(int j = 0; j < stb; ++j)
            mas[i][j] = rand() % 21;
 
    cout << "Matrix:\n";
    for(int i = 0; i < str; ++i){
        cout << "\n\t";
        for(int j = 0; j < stb; ++j)
            cout << setw(3) << mas[i][j] << ' ';
    }
 
    int sum_s(0), sum_b(0), max, min;
    for(int i = 0; i < str; ++i){
        max = mas[i][0];
        min = mas[0][i];
        for(int j = 1; j < stb; ++j){
            if(max < mas[i][j])
                max = mas[i][j];
 
            if(min > mas[j][i])
                min = mas[j][i];
        }
 
        sum_s += max;
        sum_b += min;
    }
 
    cout << "\n\nMax: " << sum_s << "\tMin: " << sum_b;
 
    cout << "\n\n";
    return 0;
}
0
clockwork_orang
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 20
24.04.2013, 18:58  [ТС] #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
srand(time(NULL))
я такого еще не проходила... не могу разобраться что здесь к чему((

Добавлено через 1 минуту
и библиотек таких не знаю(
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.04.2013, 19:04 #4
clockwork_orang, это для рандомного заполнения, чтобы не вводить с клавиатуры, мы заполняем матрицы случайными числами А если в действительности, то вам нужна только вот эта часть


Цитата Сообщение от yoghurt92 Посмотреть сообщение
int sum_s(0), sum_b(0), max, min;
* * for(int i = 0; i < str; ++i){
* * * * max = mas[i][0];
* * * * min = mas[0][i];
* * * * for(int j = 1; j < stb; ++j){
* * * * * * if(max < mas[i][j])
* * * * * * * * max = mas[i][j];
if(min > mas[j][i])
* * * * * * * * min = mas[j][i];
* * * * }
sum_s += max;
* * * * sum_b += min;
* * }
cout << "\n\nMax: " << sum_s << "\tMin: " << sum_b;
0
clockwork_orang
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 20
24.04.2013, 19:21  [ТС] #5
yoghurt92 посмотри пожалуйста, я ввела тот кусок и вот что у меня в итоге вышло:
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
#pragma argsused
#include<iostream.h>
int main(int argc, char* argv[])
{const int n=2, m=3;
int A[n][m], Sum1, Sum2;
int i, j;
for(i=0; i<n; i++)
  for(j=0; j<m; j++)
  {cout<<"Vvedite element A="<<endl;
  cin>>A[i][j];
  }
 
cout<<"\n Vivod matrici A:"<<endl;
for(i=0; i<n; i++)
  {for(j=0; j<m; j++) cout<<A[i][j]<<" ";
  cout<<endl;
  }
 
  int sum_s(0), sum_b(0), max, min;
 for(int i = 0; i < n; ++i){
 max = A[i][0];
 min = A[0][i];
 for(int j = 1; j < m; ++j){
 if(max < A[i][j])
 max = A[i][j];
if(min > A[j][i])
 min = A[j][i];
}
sum_s += max;
 sum_b += min;
}
cout << "\n\nMax: " << sum_s << "\tMin: " << sum_b;
system("pause");
 
        return 0;
}
max считает правильно, а min нет... может я не так ввела??
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.04.2013, 19:37 #6
clockwork_orang, потому что мой вариант для квадратной матрицы, если нужно для прямоугольной надо изменить, сейчас покажу как

Добавлено через 7 минут
clockwork_orang,

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
#include "stdafx.h"
#include<iostream>
using namespace std;
 
int main(int argc, char* argv[])
{const int n=2, m=3;
int A[n][m];
int i, j;
for(i=0; i<n; i++)
  for(j=0; j<m; j++)
  {cout<<"Vvedite element A="<<endl;
  cin>>A[i][j];
  }
 
cout<<"\n Vivod matrici A:"<<endl;
for(i=0; i<n; i++)
  {for(j=0; j<m; j++) cout<<A[i][j]<<" ";
  cout<<endl;
  }
 
  int sum_s(0), sum_b(0), max, min;
    for(int i = 0; i < n; ++i){
        max = A[i][0];
        for(int j = 1; j < m; ++j){
            if(max < A[i][j])
                max = A[i][j];
        }
 
        sum_s += max;
    }
 
    for(int i = 0; i < m; ++i){
        min = A[0][i];
        for(int j = 1; j < n; ++j){
            if(min > A[j][i])
                min = A[j][i];
        }
 
        sum_b += min;
    }
 
cout << "\n\nMax: " << sum_s << "\tMin: " << sum_b;
system("pause");
 
cout << "\n\n";
        return 0;
}
1
clockwork_orang
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 20
24.04.2013, 19:52  [ТС] #7
yoghurt92, Спасибо!!! Теперь все понятно
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
24.04.2013, 19:59 #8
clockwork_orang,
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 19:59
Привет! Вот еще темы с ответами:

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

Сформировать массив B из максимальных по значению элементов каждой строки исходной матрицы A(MxN) - C++
Сформировать массив B из максимальных по значению элементов каждой строки исходной матрицы A(MxN) вот пытался но что-то пошло не так:(...

В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов - C++
В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов.

Создать статический двумерный массив и посчитать сумму каждой строки - C++
Создать статический двумерный массив и его сумму в каждой строке C++ #include&lt;iostream&gt; using namespace std; int main() { int...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
24.04.2013, 19:59
Ответ Создать тему
Опции темы

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