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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 5.00
EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
#1

Чтение из .txt Матриц - C++

19.07.2011, 06:21. Просмотров 2003. Ответов 37
Метки нет (Все метки)

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <math.h>
#include <windows.h>
#include <iomanip>
#include <fstream>
using namespace std;
 
int main()
{
        SetConsoleCP(1251);  //Г’ГіГЇГЄГ*, øðèôò Г*ГҐ Г§Г*áóäü Lucida 
        SetConsoleOutputCP(1251); // ГЂГ© ГЂГ© òóïûå ГўГЁГ*äóçÿòГ*ГЁГЄГЁ
        //Ââîä
    ifstream fin("input.txt");
    if(!fin)
    {
        cout << "Г”Г*éë input.txt Г*ГҐ Г*Г*éäåГ*." << endl;
        system("pause");
    }
        //Âûâîä
    ofstream fout("outpu.txt");
    if(!fout)
    {
        cout << " ÍåâîçìîæГ*Г® îòêðûòü ГґГ*éë äëÿ Г§Г*ГЇГЁГ±ГЁ. " << endl;
        system("pause");
    }
    
    int nrow, ncol;
    fin >> nrow >> ncol;
    int i,j;
    int **a = new int *[nrow];
    for(i=0; i<nrow; i++)
        a[i] = new int [ncol];
    for(i=0; i<nrow; i++)
    for(j=0; j<ncol; j++)
        fin >> a[i][j];
    for(i=0; i<nrow; i++)
    {
        for (j=0; j<ncol; j++)
        fout << setw(4) << a[i][j] << " ";
    }
    
    bool all_posit;
    for(j=0; j<ncol; j++)
    {
        all_posit = true;
        for(i=0; i<nrow; i++);
        if(a[i][j] < 0)
        {
            all_posit = false;
            break;
        }
        if(all_posit)
        {
            fout << " Íîìåð ñòîëáöГ*: " << j;
            cout << " ГђГ*áîòГ* Г§Г*âåðøåГ*Г* " << endl;
            system("pause");
        }
    }
    fout << " Ñòîëáöîâ Г*ГҐГІ " ;
    cout << " ГђГ*áîòГ* Г§Г*âåðøåГ*Г*" <<endl;
    system("pause");
}
Каждый раз выдает

Файл input.txt не найден.
Для продолжения нажмите любую клавишу . . .
Хотя файл лежит рядом с .cpp

Если же делать так

C++
1
2
3
4
5
6
7
        //Ââîä
    ifstream fin("input.txt", ios::app);
    if(!fin)
    {
        cout << "Г”Г*éë input.txt Г*ГҐ Г*Г*éäåГ*." << endl;
        system("pause");
    }
Создавать файл отказывается.

Может что-то пропустил ?... всю ночь сижу и вот на этом задание ступарнулся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2011, 06:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из .txt Матриц (C++):

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

Чтение из txt файла - C++
есть файл. в файле записано следующие: ---------------------------------------DATABASE---------------------------------------- Date...

Чтение текста их txt файла - C++
Здравствуйте. Как сделать создание и чтение текста из txt файла? И в чем разница между print и cout? Заранее огромное спасибо!:)

Чтение/запись из/в файл .txt - C++
Имеется файл названный stses формата txt, и вот его содержание: 3 Loyed 4 Greable 7 Otto 2 в методичке приведен пример...

Параллельное чтение из txt файлов - C++
Понадобилось воспользоваться параллельным чтением n текстовых файлов. Как можно реализовать?

Чтение строк из txt файлов - C++
Ну Например У меня есть txt файл и в нём есть 5 строк как прочитать и вывести не все 5 строчки а только 1

37
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
19.07.2011, 06:53 #2
Цитата Сообщение от EpicLove
Хотя файл лежит рядом с .cpp
должен лежать рядом с .exe
0
EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.07.2011, 06:58  [ТС] #3
должен лежать рядом с .exe
Все равно не находит.
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
19.07.2011, 07:07 #4
создай новый проект и проверь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream fin("input.txt");
    
    if(!fin) {
        cout << "cannot open input.txt\n";
        return 1;
    }
    cout << "input.txt is opened\n";
    fin.close();
    return 0;
}
0
EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.07.2011, 07:17  [ТС] #5
Твой открыл нормально, мой же не хочет....

теперь программа выдает....

This application has....
и виснет напроч
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,385
Записей в блоге: 2
Завершенные тесты: 1
19.07.2011, 09:47 #6
Цитата Сообщение от accept Посмотреть сообщение
должен лежать рядом с .exe
Если речь о MSVS, то файл должен быть в папке с проектом (там, где исходники), потому что это его (проекта) work directory.
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
19.07.2011, 10:23 #7
Цитата Сообщение от Kastaneda
потому что это его (проекта) work directory.
файл должен лежать вместе с прогой
проект не управляет окружением программы
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,385
Записей в блоге: 2
Завершенные тесты: 1
19.07.2011, 13:03 #8
Если файл будет лежать вместе с прогой, то конечно он откроется программой (а куда он денется))
Цитата Сообщение от accept Посмотреть сообщение
проект не управляет окружением программы
Тогда вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <io.h>
#include <iostream>
 
int main () {
        _finddata_t  file;
        intptr_t ptr;
        ptr=_findfirst("*",&file);
        do{
                std::cout<<file.name<<std::endl;
        }while(!_findnext(ptr,&file));
        _findclose(ptr);
        return 0;
}
Просто вывод содержимого текущего каталога (ожидаемо, что быдет выведено содержимое папки с прогой), но в MSVS выводится содержимое папки с исходником.
0
EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.07.2011, 13:25  [ТС] #9
Не хочет всеравно, а если сделать "что если нету файла , создать его" , Что требуется дописать ios::app Как это правильно впихнуть в if ? с ifstream
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
20.07.2011, 01:57 #10
Цитата Сообщение от Kastaneda
Просто вывод содержимого текущего каталога
ты хочешь сказать, что программа, написанная в MSVС становится к ней привязана навсегда ?
сделай system("dir");

а как ты запускаешь ?
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.07.2011, 02:30 #11
EpicLove, ты с флагами доступа напутал, вот подправил
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <math.h>
#include <windows.h>
#include <iomanip>
#include <fstream>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);  //Тупка, шрифт не забудь Lucida 
    SetConsoleOutputCP(1251); // Ай Ай тупые виндузятники
    //Ввод
    ifstream fin("input.txt", ios::in);
    if(!fin)
    {
        cout << "Файл input.txt не найден." << endl;
        system("pause");
    }
    //Вывод
    ofstream fout("output.txt",ios::app);
    if(!fout)
    {
        cout << " Невозможно открыть файл для записи. " << endl;
        system("pause");
    }
    
    int nrow, ncol;
    fin >> nrow >> ncol;
    int i,j;
    int **a = new int *[nrow];
    for(i=0; i<nrow; i++)
        a[i] = new int [ncol];
    for(i=0; i<nrow; i++)
    for(j=0; j<ncol; j++)
        fin >> a[i][j];
    for(i=0; i<nrow; i++)
    {
        for (j=0; j<ncol; j++)
        fout << setw(4) << a[i][j] << " ";
    }
    
    bool all_posit;
    for(j=0; j<ncol; j++)
    {
        all_posit = true;
        for(i=0; i<nrow; i++);
        if(a[i][j] < 0)
        {
            all_posit = false;
            break;
        }
        if(all_posit)
        {
            fout << " Номер столбца: " << j;
            cout << " Работа завершена " << endl;
            system("pause");
        }
    }
    fout << " Столбцов нет " ;
    cout << " Работа завершена" <<endl;
    system("pause");
}
PS:Слово виндузятники понравилось xD)))
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
20.07.2011, 02:32 #12
Цитата Сообщение от -=ЮрА=-
C++
1
ifstream fin("input.txt", ios::in);
не надо ставить флаг in, он уже подразумевается в ifstream
1
-=ЮрА=-
Заблокирован
Автор FAQ
20.07.2011, 02:39 #13
Вобще да на 6-й версии компильнул всё идёт
C++
1
2
3
//Ввод
    ifstream fin("input.txt"/*, ios::in*/);
    if(!fin)
Ещё недосмотрел в мэйне нужно добить вконце
C++
1
return 0;
!!!
Сразу не обратил внимание на warning компилятора об отсутсвии возвращаемого знеачения
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.07.2011, 03:58 #14
-=ЮрА=-, msvc 6.0 ?
а вы в курсе, что он 98-го года? (не наезд, просто спрашиваю)

и давно уже по стандарту , если возвращаемое значение main опустить, оно по умолчанию будет == 0
0
EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
20.07.2011, 05:21  [ТС] #15
Я system("pause") использую, что бы в конце я мог видеть ответ. Т.к. при return - cmd компилятора закрывается.

Работаю в Dev-C++ ( Который новый, wx )

Вот что выдает при компиляции.
http://rghost.ru/15150121/image.png

2 дня уже на задаче этой сижу =(
0
20.07.2011, 05:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2011, 05:21
Привет! Вот еще темы с ответами:

Чтение из .txt построчно (ifstream) - C++
Здравствуйте, возникли некоторые проблемы с ifstream. Не могу сделать чтение из .тхт файла построчно, да и просто не получается. Вот мой...

Чтение данных из txt файла - C++
Необходимо считать число из первой строки текстового файла и записать его значение в размерность массива. Из второй строки числа...

Построчное чтение из текстового файла .txt - C++
Имеется текстовый файл fin.txt, в котором построчно записана информация подобным типом: Марка машины ; Модель ; Цвет ; Год выпуска ;...

Чтение txt-файла и заполнение таблицы Excel - C++
Добрый день, есть текстовый файл. Из него вынимаем данные, и записываем в excel таблицу. Вопрос как создать таблицу excel программно и так...


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

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

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