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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
victim_666
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 36
#1

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

28.11.2012, 22:21. Просмотров 1765. Ответов 6
Метки нет (Все метки)

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 раза последнюю строку из файла.Где мне исправить надо?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 22:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание массива из файла (C++):

Считывание элементов массива из файла, где в первой строке можно задавать размерность массива - C++
Разработать программу для работы с одномерным массивом. Ее функции: - считывание элементов массива из файла (txt), где в первой строке...

Считывание массива из файла - C++
Помогите, пожалуйста с заданием. Дедлайн завтра. Не пойму как реализовать ( Надеюсь на Вашу помощь. спасибо. Из файла (имя файла...

Считывание массива из файла - C++
Здравствуйте. Прочитал кучу форумов, но нигде не нашел ответа на свой вопрос. Имеется текстовый в котором хранится прямоугольная...

Считывание одномерного массива из файла - C++
Доброго времени суток! Проблема в следующем: 1. Кусочек кода из main() case 2: { file(data); delete data; ...

Считывание из файла массива данных - C++
подскажите как исправить, данная программа считывает и выводит только первый объект. а необходимо, чтобы все, находящиеся во входном файле ...

Считывание элементов массива из файла - C++
Ребят, здравствуйте... Не могу докумекать как из файла в котором записаны числа допустим через пробел или запятую забить значения в...

6
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
28.11.2012, 23:36 #2
Что вы тут имели в виду в 8 строке int matr1[i][j]; ???
Может int n=4, m=5; int matr[n][m] или int matr[m][m] и т.д. ?
0
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, которую буду использовать
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
28.11.2012, 23:44 #4
int i,j;
int matr1[i][j];

а размер этой матрицы какой?
0
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
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
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, если пишете на С++?
1
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;
}
спасибо огроменное!!!!
0
28.11.2012, 23:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 23:54
Привет! Вот еще темы с ответами:

Считывание из файла массива строк - C++
Ув. товарищи! Помогите плз. Нужно реализовать функцию, заполняющую из файла массив строк. Что то типа такого: bool...

Считывание массива объектов из файла - C++
Здравствуйте! Надеюсь на вашу помощь. Задача состоит в том, чтоб считать из файла данные и поместить каждую строку в новый объект, для...

Считывание двумерного массива из текстового файла - C++
Столкнулся с проблемой при компиляции в C++ Builder ( File1.cpp(29): E2062 Invalid indirection Full parser context ...

Чтения файла, массивы, считывание массива - C++
Здравствуйте, задание у меня такое, в файле &quot;input.txt&quot; записана строчка Например: DEFDEFVERDEFBIRBIRDEFDEF В программе нужно написать...


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

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

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