Ввод и вывод массива через функцию - C (СИ)

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

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

Здраствуйте, написал программу для ввода/вывода массива с заданным количеством елементов, но не знаю как сделать так, чтобы количество елемментов вводил пользователь, помогите
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
  void input(int a[5]){
  int i;
  for( i = 0; i <5; i++)
    scanf("%d", &a[i]);
 
  }
 
 void output(int a[5]){
 int i;
 
  for( i = 0; i <5; i++){
 
  printf("%d ", a[i]);
 }    }
 
int main() {
clrscr();
int a[5];
printf("Print 5 elem mass: ");
input(a);
printf("Printed mass: ");
output(a);
getch();
return 0;
}

Решение задачи: «Ввод и вывод массива через функцию»

textual
Листинг программы
#include <stdlib.h>
 
size_t n;
pritnf("введите размер массива\n");
scanf("%u", &n);
int *arr = malloc(n*sizeof(int));
if (arr == NULL)
    return(-1); // значит память не выделилась
// теперь можно работать с arr как с массивом длины n, дальше думаю разберётесь, не забудьте в конце программы освободить выделенную память free(arr);

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

  1. Подключаем необходимую библиотеку для работы с размером типа size_t
  2. Объявляем переменную типа size_t с именем n и инициализируем её значением, равным размеру массива
  3. Считываем введенное с клавиатуры значение размера массива в переменную n
  4. Выделяем память под массив переменной длины n с помощью функции malloc
  5. Проверяем успешность выделения памяти. Если память не выделилась, то возвращаем -1
  6. Теперь можно использовать выделенный массив как полноценный массив длины n
  7. Забываем освободить выделенную память

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


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

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

6   голосов , оценка 4.167 из 5