Как передать двумерный массив в функцию? - 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); 
}
не пашет void func(float **mas, int x, int y) 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы