Как вызвать функцию для выполнение всех операций в main? - C (СИ)
Формулировка задачи:
Уважаемые знатоки языка Си. Помогите пожалуйста. Подскажите как в данном коде можно вызвать функцию для выполнение всех операций в main. Заранее спасибо.
#include <stdio.h> #include <stdlib.h> #include <time.h> int main () { /* an array with 5 rows and 5 columns*/ int a[5][5]; int i, j, x, y; // time_t t; srand(time(NULL)); // randomize(); /* filling an array with random numbers */ for ( i = 0; i < 5; i++ ) { for ( j = 0; j < 5; j++ ) { a[j][i] = rand()%44 - 16; } } /* output each array element's value */ for ( x = 0; x < 5; x++ ) { for ( y = 0; y < 5; y++ ) { printf(" %d ",a[y][x] ); } printf("\n"); } int k, l, elem; int z = 0; /* output each array element's value */ for ( k = 0; k < 5; k++ ) { for ( l = 0; l < 5; l++ ) { if (z == 0) { if (a[l][k] > 0) { elem = l + k * 5; z = 1; break; } } } } if (z == 0) { printf("There are no positive elements"); } else { printf("Number of elements before the 1st positive: %d\n ", elem); } return 0; }
Решение задачи: «Как вызвать функцию для выполнение всех операций в main?»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> void fill(int a[5][5]) { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { a[j][i] = rand() % 44 - 16; } } } void print(int a[5][5]) { int x, y; for (x = 0; x < 5; x++) { for (y = 0; y < 5; y++) { printf(" %d ", a[y][x]); } printf("\n"); } } int func(int a[5][5]) { int k, l, elem = -1, z = 0; for (k = 0; k < 5; k++) { for (l = 0; l < 5; l++) { if (z == 0) { if (a[l][k] > 0) { elem = l + k * 5; z = 1; break; } } } } return elem; } int main() { /* an array with 5 rows and 5 columns*/ int a[5][5]; srand(time(NULL)); // randomize(); /* filling an array with random numbers */ fill(a); /* output each array element's value */ print(a); /* output each array element's value */ int elem = func(a); if (elem == -1) { printf("There are no positive elements"); } else { printf("Number of elements before the 1st positive: %d\n ", elem); } return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
, , - Определяем две функции: fill и print, которые принимают массив a размером 5х5 и выполняют соответственно заполнение и вывод его элементов.
- Определяем функцию func, которая принимает массив a размером 5х5 и возвращает индекс первого положительного элемента в массиве.
- В функции main создаем массив a размером 5х5 и инициализируем его случайными числами с помощью функции fill.
- Выводим значения всех элементов массива с помощью функции print.
- Вызываем функцию func, передавая ей массив a, и сохраняем ее результат в переменной elem.
- Проверяем значение переменной elem: если оно равно -1, выводим сообщение
There are no positive elements
. В противном случае выводим сообщениеNumber of elements before the 1st positive: ...
. - Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д