Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VВладимир
1 / 1 / 0
Регистрация: 08.10.2012
Сообщений: 50
#1

Чтение матрицы из файла на С++ - C++

29.11.2014, 21:54. Просмотров 772. Ответов 5
Метки нет (Все метки)

Здравствуйте! Пытаюсь выполнить чтение матрицы из файла, но программа не компилируется - выдается ошибка, что определение функции не допускается до фигурной скобки. Вот текст программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
double ** inputmf(ifstream &f,int n, int m, char s[40])
{//Объявление указателей и переменных
 int i,j; 
 double **a;
  a=new double *[n];
   if(a==NULL){cout<<"\n Не хватает оперативной памяти под строки;
               exit(1);
              }
   for(i=0;i< n;i++)
    {a[i]=new double[m];
      if(a[i]==NULL){cout<<"\n Не хватает оперативной памяти под столбцы;
                     exit(1);
                    }
    }
 
//Открытие файла для чтения
 f.open (s);
    if (f.fail()) {cout<<"\n Ошибка открытия файла;
              exit(1);
                 }
   for(i=0;i< n;i++)
     {for(j=0;j< m;j++)
      f >>a[i][j];
     }
 
 f.close();
 return a;
}
Подскажите, пожалуйста, где ошибка. Заранее благодарен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2014, 21:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение матрицы из файла на С++ (C++):

чтение матрицы из файла - C++
здравствуйте , помогите пожалуйста. в текстовом файле есть матрица 9*9 мне нужно считать из этого файла в двумерный массив ,и вывести на...

Чтение матрицы из файла - C++
В задание надо было составить программу для чтения матрицы из файлы и поменять местами главную и побочную диагональ #include...

Чтение матрицы из файла - C++
Пытаюсь прочитать с файла матрицу, и вывечти, но выводит не те числа которые я в айле оставлял, а что-то типа 0.8585858 и т.д т.п, что не...

Чтение из файла матрицы - C++
Всем Привет !!!Ребят подскажите пожалуйста, на вход подаётся файл (неизвестно сколько строк и столбцов но известно что границы того что...

Чтение матрицы из файла - C++
Дан файл, заполненный элементами матрицы. 1. считать их; 2. вывести на экран; 3. сложить и перемножить элементы обеих матриц!

Чтение матрицы из файла - C++
Есть программа ,но она неправильно работает. В чем проблема я никак не могу понять( С первой стройчкой все нормально, а вот с остальными...

5
zss
Модератор
Эксперт С++
6689 / 6251 / 2084
Регистрация: 18.12.2011
Сообщений: 16,324
Завершенные тесты: 1
29.11.2014, 22:02 #2
1.Не ленитесь форматировать код.
2. Строки всегда оканчиваются кавычками.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
double ** inputmf(ifstream &f,int n, int m, char s[40])
{
   //Объявление указателей и переменных
   int i,j; 
  double **a;
  a=new double *[n];
   if(a==NULL)
   {
      cout<<"\n Не хватает оперативной памяти под строки";
      exit(1);
   }
   for(i=0;i< n;i++)
   {
       a[i]=new double[m];
       if(a[i]==NULL)
      {
           cout<<"\n Не хватает оперативной памяти под столбцы";
            exit(1);
      }
   }
 
//Открытие файла для чтения
   f.open (s);
   if (f.fail()) 
   {
       cout<<"\n Ошибка открытия файла";
       exit(1);
   }
   for(i=0;i< n;i++)
   {
         for(j=0;j< m;j++)
             f >>a[i][j];
   }
 
   f.close();
   return a;
}
1
nmcf
5762 / 5073 / 1734
Регистрация: 14.04.2014
Сообщений: 20,762
29.11.2014, 22:03 #3
Убери s[40], просто *s.
И где закрывающий " в 6-ой и 18-ой строках?
0
VВладимир
1 / 1 / 0
Регистрация: 08.10.2012
Сообщений: 50
29.11.2014, 22:20  [ТС] #4
Спасибо за замечания, учту. Убрал s[40], написал просто *s, также поставил недостающие кавычки - ту же ошибку выдает компилятор "a function-defenition is not allowed before{ token" . Видимо, определение функции еще куда-то надо помесить...
0
nmcf
5762 / 5073 / 1734
Регистрация: 14.04.2014
Сообщений: 20,762
30.11.2014, 07:50 #5
Показывай, что получилось.
0
VВладимир
1 / 1 / 0
Регистрация: 08.10.2012
Сообщений: 50
30.11.2014, 18:53  [ТС] #6
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{//Объявление указателей и переменных
 int i,j; 
 double **a;
 //Выделение ОП под строки и столбцы матрицы
 a=new double *[n];
   if(a==NULL){cout<<"\n Не хватает оперативной памяти под строки";
               exit(1);
              }
   for(i=0;i< n;i++)
    {a[i]=new double[m];
      if(a[i]==NULL){cout<<"\n Не хватает оперативной памяти под столбцы";
                     exit(1);
                    }
    }
 //Открытие файла для чтения
 f.open (s);
 //Проверка успешности открытия файла для чтения
   if (f.fail()) {cout<<"\n Ошибка открытия файла";
              exit(1);
                 }
   for(i=0;i< n;i++)
     {for(j=0;j< m;j++)
      f >>a[i][j];
     }
 //Закрытие файла
 f.close();
 return a;
Добавлено через 57 секунд
Скобку еще в конце забыл }

Добавлено через 2 минуты
Еще забыл строчку верхнюю. Исправленный код:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
double ** inputmf(ifstream &f,int n, int m, char *s)
{//Объявление указателей и переменных
 int i,j; 
 double **a;
 //Выделение ОП под строки и столбцы матрицы
 a=new double *[n];
   if(a==NULL){cout<<"\n Не хватает оперативной памяти под строки";
               exit(1);
              }
   for(i=0;i< n;i++)
    {a[i]=new double[m];
      if(a[i]==NULL){cout<<"\n Не хватает оперативной памяти под столбцы";
                     exit(1);
                    }
    }
 //Открытие файла для чтения
 f.open (s);
 //Проверка успешности открытия файла для чтения
   if (f.fail()) {cout<<"\n Ошибка открытия файла";
              exit(1);
                 }
   for(i=0;i< n;i++)
     {for(j=0;j< m;j++)
      f >>a[i][j];
     }
 //Закрытие файла
 f.close();
 return a;
}
1
30.11.2014, 18:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2014, 18:53
Привет! Вот еще темы с ответами:

Чтение матрицы из текстового файла - C++
Задание: При помощи случайных чисел ввести матрицу А (7х7). Записать значение матрицы в текстовой файл и сохранить файл. Прочитать из...

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru