Ввод и вывод массива через функцию - 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);
Объяснение кода листинга программы
- Подключаем необходимую библиотеку для работы с размером типа size_t
- Объявляем переменную типа size_t с именем n и инициализируем её значением, равным размеру массива
- Считываем введенное с клавиатуры значение размера массива в переменную n
- Выделяем память под массив переменной длины n с помощью функции malloc
- Проверяем успешность выделения памяти. Если память не выделилась, то возвращаем -1
- Теперь можно использовать выделенный массив как полноценный массив длины n
- Забываем освободить выделенную память
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д