Функция ввода массива - C (СИ)
Формулировка задачи:
Добрый вечер. Только начали изучать функции в ВУЗе, пока не совсем вник в их суть. Вот, к примеру. Как написать функцию, которая вводила бы массив? Или функцию распечатки массива? Буду благодарен любой помощи, спасибо.
Листинг программы
- #include <stdio.h>
- int vvod(int &x);
- const int N = 10;
- void main(){
- int A[N], i;
- vvod(A[10]);
- for (i = 0; i < N; i++)
- printf("%d", A[i]);
- }
- int vvod(int &x){
- int i, mas[N], *p;
- for (i = 0; i < N; i++)
- scanf("%d", mas[i]);
- p = &mas[N];
- return *p;
- }
Решение задачи: «Функция ввода массива»
textual
Листинг программы
- #include <stdio.h>
- #define LEN 10
- void foo(int [], int);
- int main()
- {
- int array[100];
- foo(array, LEN);
- return 0;
- }
- void foo(int arr[], int lim)
- {
- int i;
- for (i = 0; i < lim; ++i)
- scanf("%d", &arr[i]);
- for (i = 0; i < lim; ++i)
- printf("%d ", arr[i]);
- printf("\n");
- }
Объяснение кода листинга программы
- Объявлена функция
foo
, которая принимает два аргумента:arr
типаint*
иlim
типаint
. - В функции
main
объявлен массивarray
типаint[100]
. - Функция
foo
вызывается с аргументамиarray
иLEN
. - Внутри функции
foo
объявлена переменнаяi
типаint
. - С помощью цикла
for
происходит заполнение массиваarr
значениями, которые вводятся с клавиатуры, с помощью функцииscanf
. - С помощью цикла
for
происходит вывод значений массиваarr
на экран с помощью функцииprintf
. - В конце функции
foo
вызывается функцияprintf
с пустой строкой в качестве аргумента, что приводит к завершению вывода на экран. - В конце функции
main
возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д