![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
first_day |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Нашел сайт, где задачи тестирует сервер. Но там для ввода/вывода данных нужно использовать текстовые файлы. Подскажите, пожалуйста, как открывать эти файлы, считывать, перезаписывать. И еще, input.txt должен быть пустым? Кто может, разъясните.
![]() -------------------- Я бы изменил мир, да Бог не дает исходников.
|
![]() ![]() |
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
На таких сайтах почти всегда есть faq с примерами решений на всех допустимых языках.
В файле input.txt - входные данные в формате, описанном в условии задачи. Для чтения входных данных используй либо ifstream и оператор >>, либо fopen и fscanf. Для записи - либо ofstream и <<, либо fopen и fprintf. Через fstream часто удобнее писать, но работает на порядок медленнее - если данные большие, лучше fscanf/fprintf. Хочешь пример - дай задачку оттуда, закодю, выложу. Если интересно, вот мой список, <пафосно>собиравшийся годами</пафосно> ![]() |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Как обычно - объявляешь переменные и открываешь файлы:
#include <fstream>
...
fstream f_in, f_out;
f_in.open("input.txt",ios::in); // для чтения
f_out.open("output.txt",ios::out); // для записи
// а теперь вместо cin >> n
f_in >> n; // n будет читаться из файла
То же самое и с записью в файл... f_out << "чего-то там... " << endl;
выведет строку в файл output.txt... Только потом не забудь закрыть (f_out.close())...Цитата И еще, input.txt должен быть пустым? Почему же пустым? Через него ты получаешь данные, то есть, у себя на компьютере ты должен в него внести тестовые данные, а когда загрузишь программу на сервер, она будет читать ИХ данные из ИХ файла input.txt...Добавлено через 1 мин. Цитата Через fstream часто удобнее писать ![]() Сообщение отредактировано: volvo - 15.12.2007 0:41 |
first_day |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Цитата Если интересно, вот мой список, <пафосно>собиравшийся годами</пафосно> Если твоего сайта там нет - скажи плиз. Хороший список ![]() Вот что у меня получилось. Сложение 2х чисел: #include <fstream>
#include <iostream>
using namespace std;
int main ()
{
int a,b;
fstream f_in, f_out; //для чего это?
f_in.open("input.txt",ios::in);
f_out.open("output.txt",ios::out);
f_in>>a>>b;
f_out<<a+b<<endl;
(f_out.close());
return 0;
}
Все корректно? ![]() Сообщение отредактировано: first_day - 15.12.2007 1:01 -------------------- Я бы изменил мир, да Бог не дает исходников.
|
Michael_Rybak |
![]()
Сообщение
#5
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
да, все правильно.
Цитата fstream f_in, f_out; //для чего это? как для чего? переменные объявили. это обычные переменные, как а и b. |
first_day |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Понял, спасибо!
-------------------- Я бы изменил мир, да Бог не дает исходников.
|
first_day |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
А если через fscanf/fprintf, что подключать надо? Можно пример?
И еще, как использовать scanf/printf (если правильно написал...) -------------------- Я бы изменил мир, да Бог не дает исходников.
|
Michael_Rybak |
![]()
Сообщение
#8
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
#include "stdio.h"
FILE *fin = fopen("input.txt", "r");
FILE *fout = fopen("output.txt", "w");
int a, b;
int main()
{
fscanf(fin, "%d %d", &a, &b);
fprintf(fout, "%d\n", a + b);
return 0;
}
О том, что можно вытворять с printf и scanf, спрашивай у гугла ![]() |
first_day |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Мда, с fstream явно меньше набирать ))
Спасибо. -------------------- Я бы изменил мир, да Бог не дает исходников.
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 13:04 |