Передать массив в главную функцию - C (СИ)
Формулировка задачи:
В неглавной функции заводится массив, заполняется, выводится и передается в главную где опять выводится. Компилируется, в главную не передается.
#include <conio.h> #include <stdio.h> #include <time.h> #include <stdlib.h> int massiv(void); int main (int *a) { int B[10]; massiv (); printf ("\nPeredany massiv: \n"); for (int i=0; i<10; i++) { B[i]=*(a+i); printf ("%i ",B[i]); } getch(); } int massiv (void) { int A[10],*a=&A[10]; time_t t; srand(unsigned(time(&t))); for (int i=0;i<10;i++){ A[i]=-100 + rand()%200; } printf ("Ishodny massiv: \n"); for (int i=0; i<10; i++) { printf ("%i ",A[i]); } return(*a); }
Решение задачи: «Передать массив в главную функцию»
textual
Листинг программы
#include <conio.h> #include <stdio.h> #include <time.h> #include <stdlib.h> int *massiv(void); int main () { int *a; int B[10]; a = massiv(); printf ("\nPeredany massiv: \n"); for (int i=0; i<10; i++) { B[i]=*(a+i); printf ("%d ",B[i]); } getchar(); } int * massiv (void) { static int A[10],*a; time_t t; a=A; srand((unsigned)(time(&t))); for (int i=0;i<10;i++){ A[i]=-100 + rand()%200; } printf ("Ishodny massiv: \n"); for (int i=0; i<10; i++) { printf ("%d ",A[i]); } return a; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
, , , - Объявляем функцию
massiv()
, которая возвращает указатель на массив из 10 целых чисел. - В функции
main()
создаем указательa
на массивB
из 10 элементов. - Вызываем функцию
massiv()
, передавая ей пустой аргументvoid
, и сохраняем результат в переменнойa
. - Выводим элементы массива
B
с помощью циклаfor
, используя операторprintf()
для вывода каждого элемента с пробелом в конце. - В функции
massiv()
объявляем статический массивA
из 10 элементов и указательa
на первый элемент массиваA
. - Инициализируем массив
A
с помощью циклаfor
, используя функциюrand()
для генерации случайного числа в диапазоне от -100 до 100 и присваивая его соответствующему элементу массиваA
. - Выводим элементы массива
A
с помощью циклаfor
, используя операторprintf()
для вывода каждого элемента с пробелом в конце. - Возвращаем указатель
a
на массивA
из функцииmassiv()
. - Получаем ввод с клавиатуры с помощью функции
getchar()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д