Ввод матрицы MXN с клавиатуры - C (СИ)
Формулировка задачи:
Доброго времени суток всем_)))
Нужен просто фрагмент проги для введения размерности и самих элементов матрицы. У меня в Борланде сразу после ввода выбрасывает из программы:
Листинг программы
- #include <stdio.h>
- #include <stdlib.h> //выделение динамической памяти в стиле C
- #include <conio.h>
- void main(){
- printf (" \t\t\tЛабороторная работа №2\n\t\tПо курсу:Основы программирования \n\t\tТема:Работа с массивами\nПодготовил студент .....");
- int Height(0); //переменная задающая высоту матрицы
- int Width(0); //переменная задающая ширину матрицы
- int *matrix = NULL; //указатель для хранения начала матрицы
- //Вводим количество строк и стобцов
- printf("Введите количество строк и столбцов\n");
- scanf("%d%d",&Height,&Width);
- //Выделяем динамическую память под матрицу, адрес начала матрицы заносится в matrix
- matrix = (int *)malloc(Height*Width*sizeof(int));
- //---------------------------------------------------------------------------------
- //Ввод матрицы
- for(int e = 0;e<Height;e++){
- //расматриваем массив: строку
- for(int g = 0;g<Width;g++){
- scanf("%d",&matrix[e*Width+g]);
- }
- }
Решение задачи: «Ввод матрицы MXN с клавиатуры»
textual
Листинг программы
- void main()
- {
- int **a;
- ...
- ...
- ...
- free(a);
- }
Объяснение кода листинга программы
Вот возможное объяснение:
- int a;** Объявляется двумерный массив (матрица) переменных типа int.
- ... Некому не надо объяснять, что в этой строке что-то происходит.
- ... И в этой строке тоже.
- free(a); Вызывается функция free, которая освобождает память, выделенную под матрицу. Обратите внимание, что в коде пропущены строки считывания матрицы и вычисления результата.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д