Практика программирования (Бейсик, Си, Паскаль)


Задачи, советы и ответы - часть 10


char b[3][11]; int i,j;

printf("\n Введите по одному в строке 3 цвета радуги\n");

for (i=0; КЗ; i++) gets (&b[i] [0] ) ;

printf("\nB радуге эти цвета следуют в таком порядке:\n");

for(j=0; j<7; j++) for(i=0; i<3; i++)

if(strcmp(&a[j][0],&b[i][0])==0)

puts(&a[j][0]); getch(); }

Программа 3_06.pas

program raduga;

{ Упорядочение цветов радуги }

const

a:array [1..7] of string[10]=('красный','оранжевый',

' желтый', ' зеленый', ' голубой', ' синий', ' фиолетовый') ;

var

b:array [1..3] of string[10];

i,j:byte; begin

writeln('Введите по одному в строке 3 цвета радуги');

for i:=l to 3 do readln(b[i]);

writeln('В радуге эти цвета следуют в таком порядке:');

for j:=1 to 7 do

for i:=l to 3 do

if a[j]=b[i] then writeln(a[j]);

readln;

end.

Задание 3.07. Левый и правый прижим, центрирование текста при выводе

Составить программу, которая запрашивает у пользователя текст, содержащий не более 20-ти символов, и выводит его в рамках колонки, расположенной с 10-й по 50-ю позиции с разными вариантами прижима. Для контроля правильности работы программы можно ограничиться вводом единственного символа и выдачей на экран строки, маркирующей номера колонок.

Совет 1 (QBasic)

Для смещения текста в нужную позицию строки можно воспользоваться либо функцией TAB, либо переводом курсора с помощью оператора LOCATE.

Совет 2 (Си, Паскаль)

Для перевода курсора в нужную позицию текущей строки можно воспользоваться процедурой gotoxy, у которой в качестве первого аргумента задан номер начальной колонки, а в качестве второго — значение функции wherey, соответствующее номеру текущей строки.

Программа 3_07.bas

CLS

PRINT "Введите строку, содержащую не более 20 символов"

FOR I = 1 ТО 8: PRINT "1234567890"; : NEXT I

INPUT "", A$

PRINT "Вывод, начиная с 10-й позиции :"

FOR I = 1 ТО 8: PRINT "1234567890"; : NEXT I

PRINT TAB(10); A$

PRINT "Вывод по центру между 10-й и 50-й позициями :"




- Начало -  - Назад -  - Вперед -