Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2014, 10:21   #1
orandzheviyman
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 74
По умолчанию Передача двумерного массива в функцию СИ

Что не так?
Код:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void TRANSPONIROVANIE (float F_mat, int M);
double MIN_ELEMENT (float F_mat, int M);

main () 
{
FILE *matrix=fopen ("matrix.txt", "r");
const int M=4;
float E_mat[M][M], F_mat[M][M];	
char *s;

for (int i=0; i<M; i++)
 for (int j=0; j<M; j++)
  {
   scanf ("%f", &F_mat[i][j]);
   fscanf (matrix,"%s", s);
   E_mat[i][j]=atof(s);
  }
  
TRANSPONIROVANIE (F_mat, M);
TRANSPONIROVANIE (E_mat, M);
fclose (matrix);

}


void TRANSPONIROVANIE (float F_mat, int M)
{
FILE *result=fopen ("result.txt", "a");
float E_mat[M][M];		

for (int i=0; i<M; i++)
 for (int j=0; j<M; j++) 	
   E_mat[j][i]=F_mat[i][j];
   
for (int i=0; i<M; i++)
 {
 printf ("\n");
  for (int j=0; j<M; j++)
   fprintf (result, "%f", E_mat);
 }
fclose (result);
}
Выдаёт ошибки:
F:\AYAP C\LABA 6\LABA_6.cpp In function 'int main()':
23 27 F:\AYAP C\LABA 6\LABA_6.cpp [Error] cannot convert 'float (*)[4]' to 'float' for argument '1' to 'void TRANSPONIROVANIE(float, int)'
24 27 F:\AYAP C\LABA 6\LABA_6.cpp [Error] cannot convert 'float (*)[4]' to 'float' for argument '1' to 'void TRANSPONIROVANIE(float, int)'
F:\AYAP C\LABA 6\LABA_6.cpp In function 'void TRANSPONIROVANIE(float, int)':
37 23 F:\AYAP C\LABA 6\LABA_6.cpp [Error] invalid types 'float[int]' for array subscript
orandzheviyman вне форума Ответить с цитированием
Старый 07.05.2014, 10:31   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

http://lord-n.narod.ru/download/book..._C/04/0405.htm
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 07.05.2014, 10:33   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

В фунцкии TRANSPONIROVANIE аргумент F_mat не есть массив, так что F_mat[i][j] будет выдавать ошибку.
waleri вне форума Ответить с цитированием
Старый 07.05.2014, 11:03   #4
orandzheviyman
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 74
По умолчанию

Код:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

const int M=4;
void TRANSPONIROVANIE (float F_mat[][M], int M);
double MIN_ELEMENT (float F_mat[][M], int M);

main () 
{
FILE *matrix=fopen ("matrix.txt", "r");
const int M=4;
float E_mat[M][M], F_mat[M][M];	
char *s;

for (int i=0; i<M; i++)
 for (int j=0; j<M; j++)
  {
   scanf ("%f", &F_mat[i][j]);
   fscanf (matrix,"%s", s);
   E_mat[i][j]=atof(s);
  }
  
TRANSPONIROVANIE (F_mat, M);
TRANSPONIROVANIE (E_mat, M);
fclose (matrix);

}


void TRANSPONIROVANIE (float F_mat[][M], int M)
{
FILE *result=fopen ("result.txt", "a");
float E_mat[M][M];

for (int i=0; i<M; i++)
 for (int j=0; j<M; j++) 	
   E_mat[j][i]=F_mat[i][j];
   
for (int i=0; i<M; i++)
 {
 printf ("\n");
  for (int j=0; j<M; j++)
   fprintf (result, "%f", E_mat);
 }
fclose (result);
}
Поправил, только теперь после компиляции выкидывает с ошибкой.
orandzheviyman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача двумерного массива в функцию bajaka Visual C++ 9 27.11.2011 16:17
Передача двумерного массива в функцию FelixXXI Общие вопросы C/C++ 3 27.08.2011 18:08
Передача двумерного массива в функцию StudentPolitech Общие вопросы .NET 9 30.10.2010 22:20
Передача в функцию двумерного массива структур Spandei Общие вопросы C/C++ 1 21.05.2010 01:11
Передача двумерного массива в функцию Megapixar Общие вопросы C/C++ 12 01.04.2010 16:04