Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/91: Рейтинг темы: голосов - 91, средняя оценка - 4.73
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
1

Ошибка при создании двумерного динамического массива

02.09.2010, 21:10. Показов 17972. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно создать матрицу (на основе динамики (язык СИ)).
В чем ошибка?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void main()
{
    int i,j,n,m;
    
    printf(" input size N:\n");
    scanf("%i",&n);
    printf(" input size M:\n");
    scanf("%i",&m);
    
int **matrica=(int**)malloc(n* sizeof(int*));
for(i=0;i<n;++i) 
matrica[i]=malloc(m*sizeof(int));
for(i=0; i<n; i++)
for(j=0; j<m; j++)
matrica[i][j] = rand()%10;
//conclusion
for(i = 0; i < n; i++)
{
    for(j = 0; j < m; j++) 
printf("%i",matrica[i][j]);
}
getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2010, 21:10
Ответы с готовыми решениями:

Ошибка при создании динамического двумерного массива
Ткните пальцем, что не так. Только учусь, делаю лабы, камнями не забрасывайте. Смотрел шаблоны...

Ошибка при создании динамического массива
При создании динамического массива (матрицы) возникает ошибка Сам процесс создания выведен в...

Ошибка при создании динамического массива.
Все доброго времени. Начал создавать одномерный массив, потом решил его преобразовать в...

Ошибка при удалением двумерного динамического массива
Задача состоит в том, чтобы загрузить массив из файла 17 0 0.40 10 0.3 20 0.12 30 0.45 40...

2
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
02.09.2010, 21:33 2
zhenya.ya,
C
1
matrica[i]=(int*)malloc(m*sizeof(int));
А так же неплохо бы подключить библиотеку time.h и вначале main написать
C
1
srand(time(NULL));
Уже не говорю о том, что main желательно должен иметь тип int
0
Эксперт С++
5056 / 3116 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.09.2010, 21:49 3
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
 
int main()
{
    int i, j, n, m;
 
    printf("Input size N: ");
    scanf("%d", &n);
    printf("Input size M: ");
    scanf("%d", &m);
 
    int **matrica = (int **)malloc(n * sizeof(int *));
    
    for (i = 0; i < n; i++)
        matrica[i] = (int *)malloc(m * sizeof(int));
 
    srand(time(NULL));
 
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
            matrica[i][j] = rand() % 11;
 
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%d ", matrica[i][j]);
 
        printf("\n");
    }
    
    getch();
    return 0;
}
Добавлено через 11 минут
Память-то забыл освободить... Перед getch(); добавить

C
1
2
3
4
for (i = 0; i < n; i++)
    free(matrica[i]);
 
free(matrica);
10
02.09.2010, 21:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2010, 21:49
Помогаю со студенческими работами здесь

Ошибка при создании двумерного массива
Моя цель: создать матрицу (ее размерность должна вводится через cmd) и заполнить ее случайными...

Ошибка при компиляции двумерного динамического массива указателей
Нужно создать двумерный динамический массив указателей собственного типа Building в классе City, но...

Ошибка с функцией Val при заполнении двумерного динамического массива
Делал лабораторную работу. Задача создать таблицу, размер которой будет указываться пользователем....

Ошибка при создании двумерного массива из объектов производных классов
Доброго времени суток. Для начала обрисую ситуацию. Мне нужно динамически создать двумерный массив...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru