Примеры программ, выполняющих файловый ввод-вывод
Язык Паскаль
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
Собрались как-то олигархи и стали хвастаться – у кого денег больше. Первый олигарх говорит – у меня одних долларов 100 миллиардов, а ещё евров 50 миллиардов, и рублей полно. Второй ему отвечает – подумаешь, кому сейчас твои доллары нужны, у меня вот британских фунтов стерлингов 76 миллиардов с копейками, да тугрики монгольские, да динары алжирские... Тут все олигархи как закричат, как ногами затопают… и подрались, синяков друг другу наставили, а одному олигарху зуб выбили. А всё потому, что олигархи были глупые – надо было не кричать, и не драться, а спокойно пересчитать все их сбережения, непосильным трудом нажитые, в родные русские рубли, тогда сразу бы ясно стало, кто из них самый богатый.
Напишите программу, которая определяет самого богатого из олигархов.
В первой строке входного файла записаны натуральные числа N – количество олигархов и M - количество разных валют, в которых они хранят свои сбережения (2 <= N <= 1000, 1 <= M <= 100). Во второй строке записано M вещественных чисел – курсы валют по отношению к рублю. В остальных N строках записано по M целых чисел в каждой. j-е число в i-ой из этих строк равно количеству миллиардов в j-ой валюте у i-го олигарха.
Запишите в выходной файл номер самого богатого олигарха. Если таких олигархов несколько, запишите наименьший из номеров.
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. «Коктейль»
Имя файла: cocktail.dpr | cocktail.pas | cocktail.c | cocktail.cpp | cocktail.bas
Вася пригласил друзей на свой день рождения. Он хочет приготовить для них вкусный и оригинальный коктейль Вася знает, что вкус коктейля тем лучше, чем больше различных ингредиентов в него входит. Однако эксперименты показали, что иногда коктейль, приготовленный из отборных ингредиентов, оказывается отвратительным на вкус. Так, например, три литра коктейля, состоящего из мороженого, морковного сока, лимонада, вишнёвого сиропа, кетчупа и чая с мятой, пришлось просто вылить, даже не закончив дегустацию. Комбинируя экспериментальные и теоретические методы исследования, Вася установил, что некоторые ингредиенты, сами по себе превосходные, совершенно не сочетаются друг с другом, другие же образуют вполне съедобные смеси.
Ваша задача – по изготовленной Васей таблице сочетаемости вычислить максимальное количество ингредиентов, из которых Вася может изготовить вкусный коктейль.
В первой строке входного файла записаны натуральные числа N – количество ингредиентов, имеющихся у Васи и M – количество пар не сочетающихся ингредиентов (1 <= N <= 20, 0 <= M <= N*(N-1)/2). В остальных строках файла записано M пар чисел – номера не сочетающихся ингредиентов.
Запишите в выходной файл максимальное количество ингредиентов, из которых можно приготовить вкусный коктейль.
3 3
1 2 2 3 1 3
1
10 0
10
5 2
4 2 5 1
Задача 4. «Последовательность»
Имя файла: sequence.dpr | sequence.pas | sequence.c | sequence.cpp | sequence.bas
Бесконечная последовательность натуральных чисел 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.
3 7 10 1
3 7 10 3
7
3 7 10 10
3 7 10 1000000000
9
Представьтесь*
Ваш комментарий*