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

Выделение динамической памяти - C++

Восстановить пароль Регистрация
 
Noobinf
Сообщений: n/a
02.07.2013, 01:00     Выделение динамической памяти #1
Всем доброго времени суток. Прошу помочь с задачей. Задача решена, просто нужно переделать её с выделением динамической памяти.
Постановка задачи
Дана целочисленная матрица A(M,N). Определим подмассив в i–й строке матрицы как один или несколько одинаковых элементов. Каждому подмассиву поставим в соответствие сумму его элементов. Найти номер строки, где расположен подмассив с наибольшим значением суммы.

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 <stdlib.h>
int main()
{
int a[10][10], b[10], i, j, m, n, max;
 
scanf("%d%d",&m,&n);
//ввод массива
printf("vvedite massiv: \n");
for (i=0;i<m;i++)
      for  (j=0;j<n;j++)
    scanf("%d",&a[i][j]) ;
    
//обнуляем массив b для суммирования элементов строк
for(i=0;i<m;i++)
    b[i]=0;
 
//суммируем строки и записываем в b
for(i=0;i<m;i++)
    for (j=0;j<n;j++)
        b[i]=b[i]+a[i][j]; 
max=b[0]; //максимальному элементу присваиваем значение первого элемента массива b
for (i=0;i<m;i++)
    if(b[i]>max)
        max=b[i];   
printf("Max summa=%d",max);
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 01:00     Выделение динамической памяти
Посмотрите здесь:

C++ матрица, выделение динамической памяти...
C++ Выделение динамической памяти
Выделение динамической памяти C++ C++
C++ выделение динамической памяти
Выделение динамической памяти C++
C++ Выделение динамической памяти
C++ Освобождение и выделение динамической памяти
Выделение динамической памяти C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
02.07.2013, 01:31     Выделение динамической памяти #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
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, j, m, n, max;
 
    scanf("%d%d",&m,&n);
 
    int **a = (int**) malloc(sizeof(int*) * m);
    for (i = 0; i < m; ++i)
        a[i] = (int*) malloc(sizeof(int) * n);
 
    int *b = (int*) malloc(sizeof(int) * m);
//ввод массива
    printf("vvedite massiv: \n");
    for (i=0; i<m; i++)
        for (j=0; j<n; j++)
            scanf("%d",&a[i][j]) ;
 
//обнуляем массив b для суммирования элементов строк
    for(i=0; i<m; i++)
        b[i]=0;
 
//суммируем строки и записываем в b
    for(i=0; i<m; i++)
        for (j=0; j<n; j++)
            b[i]=b[i]+a[i][j];
    max=b[0]; //максимальному элементу присваиваем значение первого элемента массива b
    for (i=0; i<m; i++)
        if(b[i]>max)
            max=b[i];
    printf("Max summa=%d",max);
 
    free(b);
    for (i = 0; i < m; ++i)
        free(a[i]);
    free(a);
    return 0;
}
Yandex
Объявления
02.07.2013, 01:31     Выделение динамической памяти
Ответ Создать тему
Опции темы

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