Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.06.2015, 18:57   #1
KPOBOCiCb
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 11
По умолчанию Заполнение и вывод дин. массива (Си)

Доброго!
Пытаюсь разобраться в дин. массивах, прога заполняет массив случайными числами, а затем печатает его на экране, но в коде есть ошибка в 13 строке, как ее исправить я не понимаю, не знаю что туда нужно писать, чтобы заполнить двумерный массив. Одномерный работает, а когда пытаюсь сделать двухмерный - выдает ошибку.
Код:
#include <stdlib.h>
#include <time.h>

void main()
{
	int **Mas;
	int i, j;
	int m=5;
	srand(time(NULL));
	Mas = (int **)malloc(sizeof(int*)*m);
	for (i = 0; i < m; i++)
		for (j = 0; j < m; j++)
			Mas[i][j] = rand()%100; // тринадцатая строка

	for (i = 0; i < m; i++)
		for (j = 0; j < m; j++)
			printf("%12d", Mas[i][j]);
	printf("\n");
	
	// освобождение памяти
	for (i = 0; i < m; i++)
		free(Mas[i]);
	free(Mas);
	system("pause");
}
В чем именно ошибка, что там должно быть написано? Я вообще потерян в этих указателях, звездочках... буду благодарен любому ответу (даже на оскорбление ).
P.S.: ТС нуп и рак
Изображения
Тип файла: jpg Безымянный.jpg (109.9 Кб, 108 просмотров)

Последний раз редактировалось KPOBOCiCb; 03.06.2015 в 19:08.
KPOBOCiCb вне форума
Старый 03.06.2015, 19:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ты массив не создал.
Код:
	Mas = (int **)malloc(sizeof(int*)*m);
	for (i = 0; i < m; i++) { Mas[i]=malloc(sizeof(int)*m);
		for (j = 0; j < m; j++)
			Mas[i][j] = rand()%100; // тринадцатая строка
 }
I'm learning to live...
Stilet вне форума
Старый 03.06.2015, 19:12   #3
KPOBOCiCb
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты массив не создал.
Код:
	Mas = (int **)malloc(sizeof(int*)*m);
	for (i = 0; i < m; i++) { Mas[i]=malloc(sizeof(int)*m);
		for (j = 0; j < m; j++)
			Mas[i][j] = rand()%100; // тринадцатая строка
 }
О, спасибо!
а я пытался всяко пихать вот это:
Код:
malloc(sizeof(int)*m)
уже после вложенного цикла, в заполнение массива, а оно оказывается должно быть раньше...
Спасибо!
Можете закрыть тему. Их величество не будут против.
KPOBOCiCb вне форума
Старый 03.06.2015, 20:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию


Как Ваше Величество пожелает
i.jpg
Всех закрою.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение listbox значениями из массива. Заполнение массива. Gnaqeaz C# (си шарп) 9 23.10.2014 07:53
Создание дин массива для структуры Vladislavv Помощь студентам 4 23.10.2014 00:43
Осв. памяти дин. двумерного массива kineziz Общие вопросы C/C++ 3 06.06.2012 23:43
заполнение массива русскими символами и вывод их на экран askerpro Visual C++ 4 09.11.2010 19:01
Заполнение динамического массива данными из файла и последующий вывод на экран vitalyisaev2 Общие вопросы C/C++ 5 08.09.2010 12:51