Вы делаете много вещей неправильно, поэтому используйте мой пример ниже для учебных целей.
Вот что вы делаете неправильно:
- использовать свой родной язык (код) в многонациональной среде, чтобы вы ограничить число людей, которые могли бы помочь вам так английский пожалуйста
- DodWierszy не должен возвращать ничего - особенно привести матрицу, которая передается к нему как пары
- DodWierszy ожидает указатель на Int будет принят, и вы не предоставляете ему
- вам не нужно передавать строку до DodWierszy - вы можете передать весь массив (т.е. указатель на него - не копия)
Лучше объявлять формальные аргументы (в DodWierszy) в качестве матрицы ИНТ [] [число из перевалы].
int matrixA[2/*rows*/][5/*cols*/] = { { 10, 20, 30, 40, 50},
{ 9, 8, 7, 6, 5} };
int matrixB[2/*rows*/][5/*cols*/] = { { 1, 2, 3, 4, 5},
{ 0, 7, 2, 2, 1} };
int matrixC[2/*rows*/][5/*cols*/] = {0};
void print_matrix(char label[], int p[][5], int rows, int cols)
{
printf("%s:\n", label);
for(int r = 0; r < rows; r++)
{
for(int c = 0; c < cols; c++)
{
printf("%03d ", p[r][c]);
}
printf("\n");
}
printf("\n");
}
void add_matrix_row(int row, int cols, int a[][5], int b[][5], int c[][5])
{
for(int col = 0; col < cols; col++)
{
c[row][col] = a[row][col] + b[row][col];
}
}
void main(void)
{
print_matrix("matrixA", matrixA, 2, 5);
print_matrix("matrixB", matrixB, 2, 5);
print_matrix("matrixC", matrixC, 2, 5);
for (int row = 0; row < 2; row++)
{
add_matrix_row(row, 5, matrixA, matrixB, matrixC);
}
print_matrix("matrixA", matrixA, 2, 5);
print_matrix("matrixB", matrixB, 2, 5);
print_matrix("matrixC", matrixC, 2, 5);
}
Результат:
matrixA
010 020 030 040 050
009 008 007 006 005
matrixB:
001 002 003 004 005
000 007 002 002 001
matrixC:
000 000 000 000 000
000 000 000 000 000
matrixA:
010 020 030 040 050
009 008 007 006 005
matrixB:
001 002 003 004 005
000 007 002 002 001
matrixC:
011 022 033 044 055
009 015 009 008 006
Вместо того чтобы передавать весь массив можно передать строку:
for (int row = 0; row < 2; row++)
{
add_matrix_row(matrixA[row], matrixB[row], matrixC[row]);
}
затем
void add_matrix_row(int a[5], int b[5], int c[5])
{
for(int col = 0; col < 5; col++)
{
c[col] = a[col] + b[col];
}
}
массивы M и M1 одиночные измерения массивы, но двойные индексы будут применяться только к двум di массивы растяжения – suspectus