Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Помогите решить задачки


Автор: Yusup 11.3.2009, 04:35
Задача № 1.
Дано число n. Найти все его делители. 
Примеры входных и выходных файлов:
INPUT.TXT             6    
OUTPUT.TXT    1 2 3 6

Задача № 2.
Проверить корректность расстоновки скобок в арифметическом выражении. Выражение задается
из файла "INPUT.TXT" и может содержать произвольное количество круглых скобок.
Программа должна выдать одну строчку: "правильно" или "неправильно"
Примеры входных и выходных файлов:
INPUT.TXT                             OUTPUT.TXT
7+(А+В)*(-Х)                      правильно
(7+(А+В)*(-Х)                     неправильно
    
Задача № 3.
Имеется список учащихся школы. Требуется написать программу, распределяющую какое имя самое редкое.
Формат входных данных:
Входной файл "INPUT.TXT" содержит список учеников. В каждой строке через пробел заданы 
Фамилия Имя Отчество ученика.
Ограничения на входные данные: Число учеников в школе <=10000
Формат выходных данных:
Файл "OUTPUT.TXT" содержит одну строку с искомым именем.
INPUT.TXT                                                      OUTPUT.TXT
Пушкин Александр Сергеевич                     Любовь
Луканов Александр Сергеевич
Соколова Любовь Викторовна
Иванов Иван Васильевич
Сидоров Иван Петрович


Автор: hot_man 11.3.2009, 07:03
C такими идеями иди в центр помощи!

Автор: Metalex 11.3.2009, 10:31
Даже не обязательно в центр. Неплохо было бы записать каждую задачу в отдельный топик, тогда было бы лучше думать.

#1
Код

Program Chisla;
Var ino, outo:file of integer; A, i:integer;
Begin
assign (ino, 'input.txt');
rewrite (ino);
readln (A);
write (ino, A);
close(ino);
assign (outo, 'output.txt');
{reset (ino);} {Почему - см. дальше}
rewrite (outo);
{Дальше возможны варианты: Число можна брать входное, а можна считывать записанное из файла. Поскольку в условии про чтение из файла ничего не сказано, не будем усложнять жизнь.}
for i:=1 to A do {И опять же: в условии сказано: все делители, а в примере только положительные. Ну что же..}
if A mod i=0
then write (outo, i);
close (outo);
readln;
end.

Вроде должно работать.

Автор: Metalex 11.3.2009, 10:49
Или если число уже в файле, так:
Код
Program Chisla;
Var ino, outo:file of integer; A, i:integer;
Begin
assign (ino, 'input.txt');
reset (ino);
read (ino, A);
close(ino);
assign (outo, 'output.txt');
rewrite (outo);
for i:=1 to A do
if A mod i=0
then write (outo, i);
close (outo);
readln;
end.

Автор: Yusup 12.3.2009, 04:14
Metalex
Большое Спасибо!!! Вы меня выручили!

hot_man
Учту ваше замечание! 

Автор: Metalex 15.3.2009, 21:37
Хм.. а вторую задачу у меня решить не получается.. Идея есть, конечн..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)