Указатели и динамическая память - C (СИ)

Узнай цену своей работы

Формулировка задачи:

1. Создать массив с использованием указателя. Заполнить созданный массив значениями согласно варианту. Для обращения к элементам массива при заполнении использовать индексы массива. Результат в виде таблицы значений массива вывести на консоль. Для обращения к элементам массива при выводе информации использовать указатели. 2. Создать массив в динамической памяти. Заполнить созданный массив значениями согласно варианту. Результат в виде таблицы значений массива вывести на консоль. После завершения работы с массивом освободить динамическую память. Нужный массив: a,b,c,d. В общем, никак не могу вникнуть в указатели, хотя довольно упорно пытаюсь. Саму суть я, вроде бы, уловил, но как реализовать предложенные задания понять не могу. Буду благодарен за помощь.

Решение задачи: «Указатели и динамическая память»

textual
Листинг программы
int _tmain()
{
    int m,n,i,j;
    int *a;
    printf("Kolichestvo strok: ");
    scanf_s ("%d", &n);
    printf("Kolichestvo stolbcow: ");
    scanf_s ("%d", &m);
    a = (int*) malloc(n*m*sizeof(int));
    for (i=0;i<n;i++) {
    for (j=0;j<m;j++){
        printf("Vvedite element [%d,%d]\n", i, j);
        scanf_s("%d",(a+i*m+j) );
    }
    }
    printf("MATRICA: \n");
    for (i=0;i<n;i++) {
     for (j=0;j<m;j++){
        printf("%d ", *(a+i*m+j));} 
     printf("\n");
    }

Объяснение кода листинга программы

В этом коде:

  1. Объявлены переменные m, n, i, j типа int, а также переменная a типа int* и выделена динамическая память для массива a размером n*m (в строках и столбцах соответственно).
  2. Пользователю предлагается ввести количество строк и столбцов матрицы.
  3. Затем пользователю предлагается ввести элементы матрицы, для чего используется два вложенных цикла. Внешний цикл выполняется n раз (по количеству строк), а внутренний - m раз (по количеству столбцов).
  4. В каждой итерации внутреннего цикла пользователю предлагается ввести элемент матрицы, и он сохраняется в соответствующем элементе массива a.
  5. После ввода всех элементов матрицы выводится приглашение для ввода строки, и затем выводится сама матрица.
  6. Для вывода матрицы используется два вложенных цикла. Внешний цикл выполняется n раз (по количеству строк), а внутренний - m раз (по количеству столбцов). При каждой итерации внутреннего цикла выводится текущий элемент матрицы.
  7. После вывода матрицы программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы