1 / 1 / 3
Регистрация: 04.10.2011
Сообщений: 92
1

Файлы:Напечатать все элементы типизированного файла

18.04.2013, 16:32. Показов 1925. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напечатать все элементы типизированного файла, каждая запись которого - число.
Рассмотрим два варианты:
1) известно, что в существующем файле записаны 10 чисел.
2) размер существующего файла не известен.

Добавлено через 1 час 5 минут
Люди ну помогите пожалуйста!Очень прошу!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2013, 16:32
Ответы с готовыми решениями:

Напечатать все элементы типизированного файла
Напечатать все элементы типизированного файла, каждый элемент файла — отдельное слово. Рассмотреть...

С помощью очереди за один просмотр файла напечатать элементы файла в заданном порядке
Сформировать файл из вещественных чисел и с помощью очереди за один просмотр файла напечатать...

Очередь. За один просмотр файла без использования дополнительных файлов напечатать элементы файла в порядке
HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HE...

Напечатать все не отрицательные и не превышающие 100 элементы массива
Дан массив. Напечатать: a) все не отрицательные элементы б) все элементы, не превышающие числа...

13
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 17:52 2
rinalast, не знаю на счет второго, но вроде так можно

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()
{
    ifstream file("input.txt");
 
    int value;
 
    /*случай для 10 чисел*/
    for(int i = 0; i < 10; ++i){
        file >> value;
        cout << value << ' ';
    }
    
    cout << "\n\n";
 
    /*случай когда размер не известен*/
    file.seekg(0);                              //возврат к началу файла
    while(!file.eof()){
        file >> value;
        cout << value << ' ';
    }
 
    cout << "\n\n";
    return 0;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 18:04 3
yoghurt92, не помешает перед выводом значения проверку сделать:
C++
1
if( !file.fail() )
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 18:14 4
Tulosba, ну я накидал по быстрому, да, вы правы, можно еще просто сделать

C++
1
file.clear();
чтобы сбросить флаг eofbit или badbit если был обнаружен конец файла
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 18:18 5
yoghurt92, а вообще, мне кажется ТС имел в виду бинарные файлы, говоря про "элементы типизированного файла".
1
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 18:20 6
Tulosba, может быть, ну пока ничего не сказал, если надо переделаю
0
1 / 1 / 3
Регистрация: 04.10.2011
Сообщений: 92
18.04.2013, 18:22  [ТС] 7
да я имел ввиду двоичные бинарные файлы
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 18:53 8
rinalast,

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()
{
    ifstream file("input.txt", ios::binary | ios::in);
    int value;
 
    /*случай для 10 чисел*/
    for(int i = 0; i < 10; ++i){
        file >> value;
        cout << value << ' ';
    }
    
    cout << "\n\n";
 
    /*случай когда размер не известен*/
    file.clear();
    file.seekg(0);                              //возврат к началу файла
    while(!file.eof()){
        file >> value;
        cout << value << ' ';
    }
 
    cout << "\n\n";
    return 0;
}
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 21:55 9
yoghurt92, а как создать файл, который сможет скушать эта программа? Мне кажется без read/write тут не обойтись.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 22:10 10
Tulosba, я ждал этого вопроса, даже тут обсуждалось, можно использовать fin >> value, а можно и read/write
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.04.2013, 22:30 11
yoghurt92, можете привести код для создания файла, чтобы потом его прочитать кодом из 8 сообщения?
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 22:43 12
Tulosba, нет, конечно только так

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
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{    
     /* открываем файл для записи */
    ofstream ofile("input.txt", std::ios::binary);
    if(ofile.is_open())
    { 
        for(int i = 0; i < 20; i++)   
            ofile.write((char *)&i, sizeof(int));  
        ofile.close();
    }
 
    int value;
    ifstream ifile("input.txt", ios::binary);
    for(int i = 0; i < 10; ++i){
        ifile.read((char *)&value , sizeof(int));
            cout << value  << ' ';
    }
 
    cout << "\n\n";
    ifile.clear();
    ifile.seekg(0);
    while(ifile.read((char *)&value , sizeof(int))) 
        cout << value  << ' ';
    cout << '\n'; 
 
    return 0;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.04.2013, 04:52 13
yoghurt92, тогда я сообщение #10 совсем не понял.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
19.04.2013, 08:20 14
Tulosba, ну если файл создан и там что-то есть, то можно прочитать его как бинарный, но записать не получиться, плюс если выводить через read то вывод будет не адекватный И если именно записывать и читать, то да, только raed/write Я просто показал как можно прочитать данные в бинарном режиме, вы были абсолютно правы когда сделали замечание
0
19.04.2013, 08:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2013, 08:20
Помогаю со студенческими работами здесь

Бинарные деревья. Напечатать все элементы дерева Т по уровням
Всем привет. Помогите написать программу или хотя бы функцию, условие следующее: Напечатать все...

Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7
Дан массив целых чисел. Напечатать все элементы, следующие за последним элементом, оканчивающимся...

Напечатать все элементы массива, значения которых равны их индексам
Напечатать все элементы массива F, значения которых равны их индексам. Хелп нужна помощь

Дан массив. Напечатать все элементы не превыщающие числа 100
Дан массив. Напечатать все элементы не превыщающие числа 100 #include &quot;stdafx.h&quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru