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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
#1

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

20.04.2013, 16:42. Просмотров 1701. Ответов 12
Метки нет (Все метки)

Построить циклический алгоритм, записать алгоритм в
виде блок-схемы и на алгоритмическом языке. Постройте алгоритм определения номера строки квадратной матрицы,
сумма элементов которой максимальна.

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

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

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

Определить номер строки квадратной матрицы, сумма элементов которой максимальна - C++
Доброго времени суток уважаемые, у меня есть такой код #include "stdafx.h" #include "stdio.h" #include "conio.h" #include...

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

Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна - C++
Нужно сделать без идентификатора define, в общем ввод размерности матрицы ввести с клавиатуры # include <stdio.h> # include <conio.h> #...

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

12
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; 
}
0
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
15.05.2013, 12:37  [ТС] #3
Постройте алгоритм определения номера строки квадратной матрицы,
сумма элементов которой максимальна.

Добавлено через 32 минуты
очень надо - завтра зачет просто!
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 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;
}
0
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
15.05.2013, 20:57  [ТС] #5
Слушай, а если тебе не трудно, можешь уже рабочую программу скинуть, или полный код рабочей программы? А то у меня ошибку выдает и выдает, не могу понять, в чем проблема.
0
Genn55
368 / 215 / 41
Регистрация: 26.12.2012
Сообщений: 708
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;
}
1
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
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
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 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;
}
0
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
22.05.2013, 11:56  [ТС] #9
Мне срочно нужна программа, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна. Но основная просьба вот в чем - если кто справится, скиньте код рабочей программы И САМУ ПРОГУ, чтобы ее сразу рабочую запускать. Мне просто завтра зачет сдавать, времени разбираться особо нет.
0
MyMind
25 / 25 / 7
Регистрация: 14.05.2013
Сообщений: 68
22.05.2013, 11:57 #10
в чём вам нужна программа? в какой среде?
0
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
22.05.2013, 12:03  [ТС] #11
win32
0
КонецСвета
22.05.2013, 12:21
  #12
 Комментарий модератора 
marko_o1995, вместо того, чтобы создавать дубли тем, лучше поясните, чем вас не устраивает то, что уже предложено.
Уточните задание. Выложите свои наработки, в конце концов...
0
marko_o1995
-17 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 60
22.05.2013, 13:40  [ТС] #13
в win32

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

Добавлено через 4 минуты
win 32
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 13:40
Привет! Вот еще темы с ответами:

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

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

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

Найти строку матрицы, в которой сумма положительных элементов максимальна - C++
Разработать программу, которая формирует двумерный массив L размером N x M вручную, или с помощью генератора случайных чисел (по выбору...


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

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

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