Примеры программ, выполняющих файловый ввод-вывод
Язык Паскаль
Var
C : Char;
S : String;
X : Integer;
Begin
Assign(input,’input. txt’);
Reset(input);
Read(c); {ввод одного символа}
ReadLn(s); {ввод строки}
Read(x); {ввод числа}
Assign(output,’output. txt’);
Rewrite(output);
Write(c); {вывод символа}
Write(s); {вывод строки}
Write(x); {вывод числа}
End.
Язык С/С++
#include
Int main(void) {
Char c, s[256]; int x;
Freopen(«input. txt»,»r»,stdin);
Scanf(”%c”,&c); //ввод одного символа
Scanf(”%s”,s); //ввод строки
Scanf(«%d»,&x); //ввод числа
Freopen(«output. txt»,»w»,stdout);
Printf(«%c»,c); //вывод символа
Printf(«%s»,s); //вывод строки
Printf(«%d»,x); //вывод числа
}
Язык Basic
OPEN «input. txt» FOR INPUT AS 1
OPEN «output. txt» FOR OUTPUT AS 2
REM ввод одного символа
C$ = INPUT$(1, #1)
REM ввод строки
INPUT #1, s$
REM ввод числа
INPUT #1, x
REM вывод символа
PRINT #2, c$
REM вывод строки
PRINT #2, s$
REM вывод числа
PRINT #2, x
END
Задача 1. «Цифры»
Имя Файла: digits. dpr | digits. pas | digits. c | digits. cpp | digits. bas
Входной файл: Input.Txt
Выходной файл: Output.Txt
Ограничение по времени: 1 секунда
Ограничение по памяти: 64M байт
Максимальная оценка: 20 баллов
Запишем последовательно и без пробелов натуральные числа от 1 до N. Например, для N = 13 мы получим последовательность 12345678910111213. А теперь посчитаем, сколько раз каждая цифра входит в эту последовательность. Цифра 0 входит 1 раз, цифра 1 – 6 раз, цифра 2 – 2 раза и так далее.
Напишите программу, которая для заданного числа N будет находить количество вхождений в такую последовательность для всех цифр от 0 до 9.
Вход
Во входном файле записано натуральное число N (1 <= N <= 10000).
Выход
Запишите в выходной файл через пробел десять чисел – количество вхождений цифр 0, 1, …, 9 в получившуюся последовательность.
Примеры входа и выхода
Input. txt |
Output. txt |
3 |
0 1 1 1 0 0 0 0 0 0 |
13 |
1 6 2 2 1 1 1 1 1 1 |
Задача 2. «Олигархи»
Имя файла: Olig.Dpr | Olig.Pas | Olig.C | Olig.Cpp | Olig.Bas
Входной файл: Input.Txt
Выходной файл: Output. txt
Ограничение по времени: 1 секунда
Ограничение по памяти: 64M байт
Максимальная оценка: 20 баллов
Собрались как-то олигархи и стали хвастаться – у кого денег больше. Первый олигарх говорит – у меня одних долларов 100 миллиардов, а ещё евров 50 миллиардов, и рублей полно. Второй ему отвечает – подумаешь, кому сейчас твои доллары нужны, у меня вот британских фунтов стерлингов 76 миллиардов с копейками, да тугрики монгольские, да динары алжирскиеТут все олигархи как закричат, как ногами затопают… и подрались, синяков друг другу наставили, а одному олигарху зуб выбили. А всё потому, что олигархи были глупые – надо было не кричать, и не драться, а спокойно пересчитать все их сбережения, непосильным трудом нажитые, в родные русские рубли, тогда сразу бы ясно стало, кто из них самый богатый.
Напишите программу, которая определяет самого богатого из олигархов.
Вход
В первой строке входного файла записаны натуральные числа N – количество олигархов и M — количество разных валют, в которых они хранят свои сбережения (2 <= N <= 1000, 1 <= M <= 100). во второй строке записано M вещественных чисел – курсы валют по отношению к рублю. В остальных N строках записано по M целых чисел в каждой. J-е число в I-ой из этих строк равно количеству миллиардов в J-ой валюте у I-го олигарха.
Выход
Запишите в выходной файл номер самого богатого олигарха. Если таких олигархов несколько, запишите наименьший из номеров.
Примеры входа и выхода
Input. txt |
Output. txt |
2 1 1.0 100 101 |
2 |
3 4 1.0 36.350 25.943 48.021 100 15 25 0 200 40 0 0 150 0 30 25 |
3 |
Задача 3. «Коктейль»
Имя файла: Cocktail.Dpr | Cocktail.Pas | Cocktail.C | Cocktail.Cpp | Cocktail.Bas
Входной файл: Input.Txt
Выходной файл: Output.Txt
Ограничение по времени: 1 секунда
Ограничение по памяти: 64M байт
Максимальная оценка: 20 баллов
Вася пригласил друзей на свой день рождения. Он хочет приготовить для них вкусный и оригинальный коктейль Вася знает, что вкус коктейля тем лучше, чем больше различных ингредиентов в него входит. Однако эксперименты показали, что иногда коктейль, приготовленный из отборных ингредиентов, оказывается отвратительным на вкус. Так, например, три литра коктейля, состоящего из мороженого, морковного сока, лимонада, вишнёвого сиропа, кетчупа и чая с мятой, пришлось просто вылить, даже не закончив дегустацию. Комбинируя экспериментальные и теоретические методы исследования, Вася установил, что некоторые ингредиенты, сами по себе превосходные, совершенно не сочетаются друг с другом, другие же образуют вполне съедобные смеси.
Ваша задача – по изготовленной Васей таблице сочетаемости вычислить максимальное количество ингредиентов, из которых Вася может изготовить вкусный коктейль.
Вход
В первой строке входного файла записаны натуральные числа N – количество ингредиентов, имеющихся у Васи и M – количество пар не сочетающихся ингредиентов (1 <= N <= 20, 0 <= M <= N(N-1)/2). В остальных строках файла записано M пар чисел – номера не сочетающихся ингредиентов.
Выход
Запишите в выходной файл максимальное количество ингредиентов, из которых можно приготовить вкусный коктейль.
Примеры входа и выхода
Input. txt |
Output. txt |
3 3 1 2 2 3 1 3 |
1 |
10 0 |
10 |
5 2 4 2 5 1 |
3 |
Задача 4. «Последовательность»
Имя файла: Sequence.Dpr | Sequence.Pas | Sequence.C | Sequence.Cpp | Sequence.Bas
Входной файл: Input.Txt
Выходной файл: Output.Txt
Ограничение по времени: 1 секунда
Ограничение по памяти: 64M байт
Максимальная оценка: 20 баллов
Бесконечная последовательность натуральных чисел A1, A2, … строится следующим образом: A1 — любое натуральное число, Ai+1 = Ai K Mod B, где K и B – натуральные числа, одни и те же для всех членов последовательности, Mod – остаток от деления.
Ваша задача – для заданных чисел A1, K, B и N найти число An.
Вход
Во входном файле записаны четыре целых числа A1, K, B, N (1 <= A1 <= 105, 1 <= K <= 104, 1 <= B <= 105, 1 <= N <= 109).
Выход
Запишите в выходной файл число An.
Примеры входа и выхода
Input. txt |
Output. txt |
3 7 10 1 |
3 |
3 7 10 3 |
7 |
3 7 10 10 |
1 |
3 7 10 1000000000 |
9 |