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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Михан
 Аватар для Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
28.01.2013, 11:19     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна #1
Выполнить задание, используя динамическое выделение памяти.

Делал такое же задание, но не использовал ничего подобного.
Тоесть просто вводил массив, и искал максимальную строчку
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
# include <stdio.h>
# include <conio.h>
# define  N  3  
#include <iomanip>  
int main ( )
{
    setlocale(LC_ALL,"Russian");
    int m [N] [N+1];                
    int max;           
    int i, j;        
    printf ("Введите матрицу %i x %i  \n", N, N);
    for ( i = 0; i < N; i++)
    {
        printf ("Элементы  %i -й строки",  i+1);
        for  ( j = 0; j < N; j++)
     scanf ("%i", &m [i] [j] );
    }
     for ( i = 0; i < N; i++)
    {
           m [i] [N] = 0;
           for  ( j = 0; j < N; j++)
           m [i] [N] += m [i] [j];
    }
max = 0;
for ( i = 0; i < N; i++)
      if ( m[i] [N] > m [max] [N] )
       max = i;
printf (" \n  В %i - й строке сумма элементов ",   max + 1);
printf (" максимальна и равна %i\n", m [max] [N] );
getch ( ) ;
   }
Выше представленная программа прекрасно работает.
Но теперь мне необходимо сделать тоже самое, но используя динамическое выделение памяти.
Я дошел до того, что написал программу, которая позволяет ввести этот самый массив используя динамическое выделение памяти.
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<conio.h>
#include <iomanip>  
int **matrix;
int N,M;
int i,j,max;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    printf("Введите колличество строк матрицы  N=");
    scanf("%d",&N);
    printf("Введите колличество столбцов матрицы M=");
    scanf("%d",&M);
    matrix=new int*[N]; 
    for(i=0;i<N;i++)
    matrix[i]=new int[M]; 
    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            scanf("%d",&matrix[i][j]);
getch ( ) ;
   }
.
Как искать строку с максимальной суммой не могу понять, ступор какой то(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 11:19     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна
Посмотрите здесь:

C++ Написать программу, которая определяет строку квадратной матрицы.
C++ Алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна
C++ Определить номер столбца квадратной матрицы, сумма элементов которой максимальна
Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой минимальна C++
C++ Определить номер строки квадратной матрицы , сумма элементов которой минимальна
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 435
28.01.2013, 11:49     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна #2
С матрицей которую создал динамически, можно обращаться так-же как и с обычной. т.е имя массив[i][j] и т.п
Maratovich
13 / 17 / 1
Регистрация: 05.09.2012
Сообщений: 210
28.01.2013, 11:58     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна #3
Цитата Сообщение от Михан Посмотреть сообщение
Как искать строку с максимальной суммой не могу понять, ступор какой то(
ну так же как ты это делал в своей программе )


Цитата Сообщение от Михан Посмотреть сообщение
max = 0;
for ( i = 0; i < N; i++)
* * * if ( m[i] [N] > m [max] [N] )
* * * *max = i;
printf (" \n *В %i - й строке сумма элементов ", * max + 1);
printf (" максимальна и равна %i\n", m [max] [N] );
getch ( ) ;
* *}
Михан
 Аватар для Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
28.01.2013, 17:06  [ТС]     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна #4
Попытался соединить два кода
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
#include<stdio.h>
#include<conio.h>
#include <iomanip>  
int **matrix;
int N,M;
int i,j,max;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    printf("Введите колличество строк матрицы  N=");
    scanf("%d",&N);
    printf("Введите колличество столбцов матрицы M=");
    scanf("%d",&M);
    matrix=new int*[N]; 
    for(i=0;i<N;i++)
    matrix[i]=new int[M]; 
    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            scanf("%d",&matrix[i][j]);  
max = 0;
for ( i = 0; i < N; i++)
      if ( matrix[i] [N] > matrix [max] [N] )
       max = i;
printf (" \n  В %i - й строке сумма элементов ",   max + 1);
printf (" максимальна и равна %i\n", matrix [max] [N] );
getch ( ) ;
   }
Программа компилируется, но неверно находит максимальная сумма ряда.

Добавлено через 1 час 25 минут
Помогите пожалуйста, я вообще не понимаю в чем проблема(

Добавлено через 3 часа 34 минуты
Всем спасибо разобрался. Вот конечный код
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
# include <stdio.h>
# include <conio.h>
# define  N  3  
#include <iomanip>  
int main ( )
{
    setlocale(LC_ALL,"Russian");
    int m [N] [N+1];                
    int max;           
    int i, j;        
    printf ("Введите матрицу %i x %i  \n", N, N);
    for ( i = 0; i < N; i++)
    {
        printf ("Элементы  %i -й строки ",  i+1);
        for  ( j = 0; j < N; j++)
     scanf ("%i", &m [i] [j] );
    }
     for ( i = 0; i < N; i++)
    {
           m [i] [N] = 0;
           for  ( j = 0; j < N; j++)
           m [i] [N] += m [i] [j];
    }
max = 0;
for ( i = 0; i < N; i++)
      if ( m[i] [N] > m [max] [N] )
       max = i;
printf (" \n  В %i - й строке сумма элементов ",   max + 1);
printf (" максимальна и равна %i\n", m [max] [N] );
getch ( ) ;
   }
pashAGui
0 / 0 / 0
Регистрация: 23.09.2014
Сообщений: 22
10.10.2014, 15:33     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна #5
а можно код делфи
Yandex
Объявления
10.10.2014, 15:33     Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна
Ответ Создать тему
Опции темы

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