Функция ввода массива - 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, что означает успешный конец работы программы.