|
|
ggipetro47.PAS |
|
{* Задача 47 *}Unit GGIPETRO47;Interface Implementation Begin writeln('Петя любит играть со своими кубиками, которые выкладывает в ряд и затем с интересом разглядывает свое творение. Однако недавно друзья решили подшутить над Петей и поставили в его игровой комнате зеркало. Ведь всем известно, что привидения не отражаются в зеркале, а кубики отражаются! Теперь Петя видит перед собой N цветных кубиков, но не знает, какие из них настоящие, а какие - всего лишь отражение в зеркале. Помогите Пете! Выясните, сколько кубиков может быть у него. Петя видит отражение всех кубиков в зеркале и часть кубиков, которая находится перед ним. Часть кубиков может быть и позади Пети, но их он не видит. '); End. Program ggipetro47; Uses ggipetro47.pas; {* Эту строку можно удалить *} Uses crt; {* Подключаем внешние файлы *} label l1; Var {* Объявление переменных *} a : Array[1..50] Of integer; b : Array[1..50] Of integer; i : byte; j : byte; kub : byte; cvt : byte; nowkub : byte; kol : byte; raz : byte; ok : boolean; Begin clrscr; {* Очистка экрана *} textcolor(yellow); {* текст *} write('Kolichestvo kubikov: '); readln(kub); write('Kolichestvo cvetov: '); readln(cvt); clrscr; {* Очищаем экран *} For i := 1 To kub Do {ruchnoe zapolnenie} Begin l1 : write('Cvet ', i, '-go kubika (1-', cvt, '): '); readln(a[i]); clrscr; {* Очистка экрана *} If (a[i]cvt) Then Begin writeln('Nevernii cvet!'); Goto l1; End; End; write('> '); textcolor(white); {* текст *} For i := 1 To kub Do {* Переменная i увеличивается с 1 до kub *} write(a[i], ' '); {raspechatka} nowkub := round(kub / 2) + 1; For i := 1 To nowkub Do {perebor vozmognih znachenii} Begin ok := false; raz := i - 1; For j := 1 To raz Do {proverka} If a[i + j - 1]a[i - j] Then Begin ok := true; End; If oktrue Then {zapisivanie dopolnitelnih dannih} Begin inc(kol); {* kol++ *} b[kol] := kub - raz; End; End; writeln; {* Пустая строка *} For i := 1 To kol Do {vivod itoga} Begin writeln; {* Пустая строка *} textcolor(yellow); {* Выбрать цвет текста *} write('> '); For j := 1 To kub Do {* Цикл для j => [1 .. kub] *} Begin If kub - b[i] = j - 1 Then Begin textcolor(yellow); {* Установить цвет текста *} write('| '); End; textcolor(white); {* Установить цвет текста *} write(a[j], ' '); End; write('..Kubikov: ', b[i], '..'); End; readkey; {* Ждем нажатия любой клавиши *} End. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|