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

Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
20.04.2013, 16:42     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #1
Построить циклический алгоритм, записать алгоритм в
виде блок-схемы и на алгоритмическом языке. Постройте алгоритм определения номера строки квадратной матрицы,
сумма элементов которой максимальна.

Кому не сложно, очень прошу помочь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 16:42     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна
Посмотрите здесь:

Сформировать из фрагмента матрицы А(na,ma) новую матрицу B(nb,mb), сумма элементов в которой максимальна. C++
C++ Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна
C++ Определить номер столбца квадратной матрицы, сумма элементов которой максимальна
Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой минимальна C++
C++ Определить номер строки квадратной матрицы , сумма элементов которой минимальна
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lomin
46 / 46 / 5
Регистрация: 20.04.2013
Сообщений: 126
20.04.2013, 17:11     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #2
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
int _tmain(int argc, _TCHAR* argv[])
{ 
const int r=4;
    int min;
    int sum = 0;
    int Z[r][r]={{1,2,0,4},{2,4,6,8},{8,2,0,1},{1,0,2,3}};
    int Sum;
    int max= -32000;
    int numberLine=0;
 
    // Выводим первоначальную матрицу
    for(int i=0;i<r;i++)
    {   for (int j=0; j<r; j++) 
        cout<<Z[i][j]<<" "; 
    cout<<"\n"; 
    }
 
    cout<<"\n";
 
    // Находим сумму для каждой строки
    for(int i=0; i<r; i++)
    {
        Sum = 0;
     for (int j=0; j<r; j++)        
        // Суммируем все элементы i-ой строки
         Sum+=Z[i][j];
     // Если сумма больше предыдущего максимума
     if(Sum >max)
     {
      max = Sum;
      numberLine = i;
     }
    }
 
 
    cout<<"\n"<< "Наибольшая сумма в строке № " << numberLine+1 << " = "<< max;
 
  system("pause");
  return 0; 
}
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
15.05.2013, 12:37  [ТС]     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #3
Постройте алгоритм определения номера строки квадратной матрицы,
сумма элементов которой максимальна.

Добавлено через 32 минуты
очень надо - завтра зачет просто!
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
15.05.2013, 12:45     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #4
На вскидку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <numeric>
#include <limits>
 
 
int main() {
   std::size_t const size = /* ... */;
   int const matrix[size][size] = { /* ... */ };
 
   std::size_t maxIndex = 0;
   int max = std::numeric_limits<int>::min();
   for (std::size_t i = 0; i != size; ++i) {
      int const sum = *std::accumulate(matrix[i], matrix[i] + size, 0);
      if (sum > max) {
         max = sum;
         maxIndex = i;
      }
   }
 
   std::cout << maxIndex << std::endl;
}
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
15.05.2013, 20:57  [ТС]     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #5
Слушай, а если тебе не трудно, можешь уже рабочую программу скинуть, или полный код рабочей программы? А то у меня ошибку выдает и выдает, не могу понять, в чем проблема.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
15.05.2013, 21:09     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #6
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
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include<Windows.h>
#include <iomanip>
 
using namespace std;
 
int main()
{
  srand(time(NULL));
        int const N = 5;
        int A[N][N];
        for(int i = 0; i < N; i++)
        for(int j = 0; j < N; j++)
        A [i][j] =rand() % 10;
 
   for(int i = 0; i < N; i++)
   {
    for(int j = 0; j < N; j++)
     cout << setw(4) << A[i][j];
     cout <<"\n";
   }
   cout <<"\n";
int pos = 0,max = 0;
         for(int i = 0; i < N; i++)
        {
            int sum = 0;
            for(int j =0 ; j < N; j++)
            {
                 sum+= A[i][j];
                 if (sum > max)
                 {
                    max = sum;
                    pos = i+1;
                 }
            }
        }
        cout <<"Max namber =  "<<max<<" Pos =  "<<pos<<  "\n";
        cout << endl;
 
    return 0;
}
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
16.05.2013, 10:22     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #7
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
#include <iostream> //cout
#include <cstdlib> //rand()
#include <iomanip> //setw
#include <ctime> // init srand
using namespace std;
 
int main() {
    int n;
    cout << "VVedite n ";
    cin >> n;
    int **matr = new int*[n];
    // выделяем память под массив
    for (int i = 0; i < n; ++i)
        matr[i] = new int[n];
    // заполняем и печатаем
    srand(time(0));
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            matr[i][j] = -10 + rand() % 30; //-10..10;
            cout << setw(4) << matr[i][j];
        }
        cout << endl;
    }
    int max = 0; // maximum
    int ind = 0; // index
    for (int i = 0; i < n; ++i) {
        int sum = 0; // промежуточнрая сумма
        for (int j = 0; j < n; ++j) {
            sum += matr[i][j];
 
        }
        //cout << "sum["<<i<<"]="<<sum<<endl; //отладка
        if (sum > max) {
            ind = i;
            max = sum;
        }
    }
    cout << "Max sum is " << max << " in row #" << ind << endl;
    // очищаем память
    for(int i = 0; i < n; ++i)
        delete[] matr[i];
    delete[] matr;
    return 0;
}
Добавлено через 1 минуту
Собственно решение вашей задачи в строках 24-35
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
16.05.2013, 11:04     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #8
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
template <class InputIterator>
int SumOfRow(InputIterator begin, InputIterator end)
{
    int currentSum(0);
    while (begin++ != end) 
          currentSum += *begin;
    return currentSum;       
}
 
int main()
{
    srand(time(0));
    const std::size_t matrixSize(5);
    int matrix[matrixSize][matrixSize];
    
    std::cout << "Matrix: " << std::endl;
    for (unsigned i = 0; i < matrixSize; i++) {
        for (unsigned j = 0; j < matrixSize; j++)
            std::cout << std::setw(5) << (matrix[i][j] = rand() % 50);
        std::cout << std::endl;
    }
    
    int rowNumber(0);
    int maximalSum(SumOfRow(matrix[0], matrix[0] + matrixSize));
    for (unsigned i = 1; i < matrixSize; i++) {
        int currentSum(SumOfRow(matrix[i], matrix[i] + matrixSize));
        if (currentSum > maximalSum) {
                  maximalSum = currentSum;
                  rowNumber = i;
        }
    }
    std::cout << "Result: " << (rowNumber + 1) << std::endl;     
    
    return 0;
}
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
22.05.2013, 11:56  [ТС]     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #9
Мне срочно нужна программа, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна. Но основная просьба вот в чем - если кто справится, скиньте код рабочей программы И САМУ ПРОГУ, чтобы ее сразу рабочую запускать. Мне просто завтра зачет сдавать, времени разбираться особо нет.
MyMind
24 / 24 / 7
Регистрация: 14.05.2013
Сообщений: 68
22.05.2013, 11:57     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #10
в чём вам нужна программа? в какой среде?
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
22.05.2013, 12:03  [ТС]     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #11
win32
КонецСвета
22.05.2013, 12:21
  #12
 Комментарий модератора 
marko_o1995, вместо того, чтобы создавать дубли тем, лучше поясните, чем вас не устраивает то, что уже предложено.
Уточните задание. Выложите свои наработки, в конце концов...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 13:40     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна
Еще ссылки по теме:

Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна C++
C++ Номер строки, сумма элементов которой максимальна
C++ Номер строки квадратной матрицы, сумма элементов которой максимальна

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

Или воспользуйтесь поиском по форуму:
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
22.05.2013, 13:40  [ТС]     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна #13
в win32

Добавлено через 1 минуту
в Win32 нужна

Добавлено через 4 минуты
win 32
Yandex
Объявления
22.05.2013, 13:40     Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна
Ответ Создать тему
Опции темы

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