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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
#1

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

28.01.2013, 11:19. Просмотров 2249. Ответов 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
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 ( ) ;
   }
.
Как искать строку с максимальной суммой не могу понять, ступор какой то(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 11:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна (C++):

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

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

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

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

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

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

4
dalay_lama
77 / 77 / 16
Регистрация: 22.09.2012
Сообщений: 481
28.01.2013, 11:49 #2
С матрицей которую создал динамически, можно обращаться так-же как и с обычной. т.е имя массив[i][j] и т.п
0
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 ( ) ;
* *}
0
Михан
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 ( ) ;
   }
0
pashAGui
0 / 0 / 0
Регистрация: 23.09.2014
Сообщений: 22
10.10.2014, 15:33 #5
а можно код делфи
0
10.10.2014, 15:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2014, 15:33
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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