Форум программистов, компьютерный форум CyberForum.ru

Считывание массива из файла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
victim_666
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 36
28.11.2012, 22:21     Считывание массива из файла #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
  
  int i,j;
int matr1[i][j];
 
FILE *f1;
f1=fopen("/home/linke/out1.txt","r");
for(int i=0; i < 4;i++){
       for(int j=0; j < 4 ;j++) fscanf(f1, "%d ", &matr1[i][j]);
}
 for(int i=0; i < 4;i++){
       for(int j=0; j < 4 ;j++)cout << matr1[i][j]<<" ";
       cout << endl;
   }
 
return 0;
}
Вобщем нужно напечатать матрицу, считанную из файла.но программа при размере матрицы 4*4 печатает 4 раза последнюю строку из файла.Где мне исправить надо?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
28.11.2012, 23:36     Считывание массива из файла #2
Что вы тут имели в виду в 8 строке int matr1[i][j]; ???
Может int n=4, m=5; int matr[n][m] или int matr[m][m] и т.д. ?
victim_666
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 36
28.11.2012, 23:39  [ТС]     Считывание массива из файла #3
Цитата Сообщение от vua72 Посмотреть сообщение
Что вы тут имели в виду в 8 строке int matr1[i][j]; ???
Может int n=4, m=5; int matr[n][m] или int matr[m][m] и т.д. ?
ну я объявил матрицу matr1, которую буду использовать
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
28.11.2012, 23:44     Считывание массива из файла #4
int i,j;
int matr1[i][j];

а размер этой матрицы какой?
victim_666
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 36
28.11.2012, 23:45  [ТС]     Считывание массива из файла #5
Цитата Сообщение от vua72 Посмотреть сообщение
int i,j;
int matr1[i][j];

а размер этой матрицы какой?
в данном случае 4 на 4
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
28.11.2012, 23:51     Считывание массива из файла #6
в данном случае неизвестно какой на какой, вы не присваиваете переменным i и j в 7 строке никаких значений
В таком варианте вы создадите действительно массив 4 на 4.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
    int n=4, m=4;
    int matr1[n][m];
    FILE *f1;
    f1=fopen("/home/linke/out1.txt","r");
    for(int i=0; i < n; ++i) {
        for(int j=0; j < m ; ++j)
            fscanf(f1, "%d ", &matr1[i][j]);
    }
    for(int i=0; i < n; ++i) {
        for(int j=0; j < m ; ++j)
            cout << matr1[i][j]<<" ";
        cout << endl;
    }
    return 0;
}
И почему тогда не использовать std::ifstream, если пишете на С++?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 23:54     Считывание массива из файла
Еще ссылки по теме:

Считывание из файла массива строк C++
Считывание массива из файла C++
Считывание одномерного массива из файла C++

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

Или воспользуйтесь поиском по форуму:
victim_666
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 36
28.11.2012, 23:54  [ТС]     Считывание массива из файла #7
Цитата Сообщение от vua72 Посмотреть сообщение
в данном случае неизвестно какой на какой, вы не присваиваете переменным i и j в 7 строке никаких значений
В таком варианте вы создадите действительно массив 4 на 4.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
    int n=4, m=4;
    int matr1[n][m];
    FILE *f1;
    f1=fopen("/home/linke/out1.txt","r");
    for(int i=0; i < n; ++i) {
        for(int j=0; j < m ; ++j)
            fscanf(f1, "%d ", &matr1[i][j]);
    }
    for(int i=0; i < n; ++i) {
        for(int j=0; j < m ; ++j)
            cout << matr1[i][j]<<" ";
        cout << endl;
    }
    return 0;
}
спасибо огроменное!!!!
Yandex
Объявления
28.11.2012, 23:54     Считывание массива из файла
Ответ Создать тему
Опции темы

Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru