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

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

Войти
Регистрация
Восстановить пароль
 
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
#1

Не считывается файл - C++

05.05.2013, 22:48. Просмотров 541. Ответов 11
Метки нет (Все метки)

Вот решил разобраться с пузырьковой сортировкой. Считываю числа из файла в массив. Вопрос:что сделал не так? Компилятор ошибок не находит, но выбивает:
-858993460
-858993460
-858993460
-858993460
-858993460

Ну то есть он явно не может считать цыфры
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
#include <iostream>
#include <fstream>
using namespace std;
int main(){
    const int n=5;
    int arr[5];
    ifstream f("file.txt");
    for (int i=0;i<n;i++){
        f >> arr[i];
        cout << arr[i] <<endl;
    };
//сортировка
    cout << endl;
    for(int i=n-1;i>n-1;--i){
        for(int j=0;j<i;++j){
            if(arr[j]>arr[j+1]){
            int foo=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=foo;
            
            }
        }
    }
    for (int i=0;i<n;i++)
    cout << arr[i] <<endl;
    
        system("pause>>void");
        return 0;
}
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не считывается файл (C++):

Считать файл в массив байт (считывается не с начала) - C++
добрый вечер, необходимо считать bmp в массив байт. делаю так но он читает почему то не сначала, прикладываю скриншот с выводом программы и...

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

Неправильно считывается массив - C++
Здравствуйте. Есть класс матриц, один из конструкторов позволяет создать матрицу, используя входные данные: количество строк, количество...

Не считывается определённый символ - C++
Проблема с чтением символа. Этот символ содержатся в BMP файле в месте хранения компонентов цвета. Обычный блокнот показывает, что...

Не считывается строка из строки - C++
недавно делал класс тут в соседней теме, сегодня случайно заметил ошибку, а уже хотел сдавать, помогите пожалуйста :( короче в строке 66...

Массив считывается неверно - C++
Скажите, пожалуйста, почему неправильно считывает? Ввожу: 1 2 3 4 5 2 3 5 6 7 1 3 4 5 3 4 3 6 2 3 6 5 4 3 2 Получаю: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
05.05.2013, 22:54 #2
считать он может, он не сортирует
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,456
05.05.2013, 22:54 #3
А открыть файл не пробовал?
Что-нибудь типа
C++
1
f.open(...);
0
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
05.05.2013, 22:56 #4
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
#include <iostream>
#include <fstream>
using namespace std;
int main() {
    const int n=5;
    int arr[5];
    ifstream f("file.txt");
    for (int i=0; i<n; i++) {
        f >> arr[i];
        i<n-1?cout<<arr[i]<<' ':cout<<arr[i];
 
    };
//сортировка
    cout << endl;
    for(int i=n-1; i>=1; i--)
        for(int j=0; j<i; j++) {
            if(arr[j]>arr[j+1]) {
                int temp(0);
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    for (int i=0; i<n; i++)
        i<n-1?cout<<arr[i]<<' ':cout<<arr[i];
 
    return 0;
}
1
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
05.05.2013, 22:57  [ТС] #5
Цитата Сообщение от Байт Посмотреть сообщение
А открыть файл не пробовал?
Что-нибудь типа
C++
1
f.open(...);
Вот так? Но он ошибку выбивает. error C2143: синтаксическая ошибка: отсутствие ";" перед "."
C++
1
ifstream f.open("file.txt");
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,456
05.05.2013, 23:02 #6
Цитата Сообщение от okman Посмотреть сообщение
Но он ошибку выбивает
Я за тебя должен изучать методы класса ifstream???
Я ими не пользуюсь, мне хватает старинного <stdio.h>
0
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
05.05.2013, 23:02 #7
Цитата Сообщение от okman Посмотреть сообщение
f.open
Ув. Байт наверно имел введу http://www.cplusplus.com/reference/cstdio/fopen/
если file.txt в папке проекта, ничего не надо изменять
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
05.05.2013, 23:05  [ТС] #8
Цитата Сообщение от Belfegor Посмотреть сообщение
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
#include <iostream>
#include <fstream>
using namespace std;
int main() {
    const int n=5;
    int arr[5];
    ifstream f("file.txt");
    for (int i=0; i<n; i++) {
        f >> arr[i];
        i<n-1?cout<<arr[i]<<' ':cout<<arr[i];
 
    };
//сортировка
    cout << endl;
    for(int i=n-1; i>=1; i--)
        for(int j=0; j<i; j++) {
            if(arr[j]>arr[j+1]) {
                int temp(0);
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    for (int i=0; i<n; i++)
        i<n-1?cout<<arr[i]<<' ':cout<<arr[i];
 
    return 0;
}
Спасибо, но оно все равно тот же бред выводит. Может я что-то не правильно при создании файла сделал? Создал обычный тхт с 5 цифрами.
0
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
05.05.2013, 23:08 #9
Цитата Сообщение от okman Посмотреть сообщение
с 5 цифрами.
Цитата Сообщение от okman Посмотреть сообщение
f >> arr[i];
ввод потоковый
надо
C++
1
2
3
4
5
1
2
3
4
5
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
05.05.2013, 23:15  [ТС] #10
Цитата Сообщение от Belfegor Посмотреть сообщение
ввод потоковый
надо
C++
1
2
3
4
5
1
2
3
4
5
да,конечно, это я понимаю. Я так и сделал
0
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
05.05.2013, 23:17 #11
Цитата Сообщение от okman Посмотреть сообщение
да
ошибит? прикрепил файл, + http://snap.ashampoo.com/PGFRPCrf скриншот
2
Вложения
Тип файла: txt file.txt (16 байт, 7 просмотров)
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
05.05.2013, 23:26  [ТС] #12
Цитата Сообщение от Belfegor Посмотреть сообщение
ошибит? прикрепил файл, + http://snap.ashampoo.com/PGFRPCrf скриншот
Я дурак или это магия, я вышел из проекта сохранив его. Запустил и все считалось. Файл конечно же был уже в проекте. Но тебе все равно спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2013, 23:26
Привет! Вот еще темы с ответами:

Считывается не вся матрица - C++
Ввожу матрицу 1 2 3 4 5 6 7 8 9 А считывает только 4 5 7 8 Помогите исправить #include &quot;stdafx.h&quot; #include...

Не считывается строка из файла - C++
Есть динамический массив символов (поле класса). При считывании из файла выдаёт ошибку &quot;CXX0030: ошибка: невозможно вычислить выражение&quot;....

Неверно считывается условие - C++
Собственно программа, вычисляющая суммарную площадь множества четырёхугольников(заданных через 4 точки) внутри окружности с заданным...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.05.2013, 23:26
Ответ Создать тему
Опции темы

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