Как передать двумерный массив в функцию? - C (СИ)
Формулировка задачи:
void func(float *mas, int x, int y) { .. for (i=0; i<10; i++) printf ("%d",mas[0]); } int main() { int x=10, y=80; float a[10][80]; .. scanf(fin,"%f",&a[0][i]) .. func(a,x,y); }
Решение задачи: «Как передать двумерный массив в функцию?»
textual
Листинг программы
#include <stdio.h> #include <conio.h> const int arraySize = 3; void func(float **mas, int x, int y) { for (int i=0; i<arraySize; i++) printf ("%f ",mas[i][i]); } int main() { float **arr = new float*[arraySize]; for(int k=0; k < arraySize; k++) arr[k] = new float[arraySize]; for (int i=0; i<arraySize; i++) { for (int j=0; j<arraySize; j++) scanf("%f",&arr[i][j]); } func(arr,x,y); getch(); return 0; }
Объяснение кода листинга программы
В этом коде объявлена функция func
, которая принимает двумерный массив mas
размером arraySize
и выводит на экран значения элементов массива. В функции main
создается двумерный массив arr
размером arraySize
динамически при помощи оператора new
. Затем в цикле происходит заполнение элементов массива значениями с клавиатуры при помощи функции scanf
. После этого вызывается функция func
с передачей в нее массива arr
, а также значений переменных x
и y
. В конце программы вызывается функция getch
для получения от пользователя ввода и программа завершается возвратом значения 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д