Нужна помощь в паскале!!!Написать массив 5 строк 10 столбцов из случайных слов в которых есть как заглавные так и не заглавные б
Нужна помощь в паскале!!! Написать массив 5 строк 10 столбцов из случайных слов в которых есть как заглавные так и не заглавные буквы. Первая строка N заменяет X Вторая строка X заменяет на M Третья строка инвитирует всю строку и каждую букву Четвёртая строка строчные меняет на прописные Прописные на заглавные.
Эти процедуры должны быть оформлены отдельно для каждой строки, также должен быть выбор процедур выполнения. Вывести на экран начальный и конечный массив и записать в файл
const n = 5; m = 10; {кол-во столбцов} l = 10; {максимальная длина одной строки/слова} {letters = 'ABCDEFGHIJKLMNNNNNNNNNNNNOPQRSTUVWXXXXXXXXXXYZabcdefghijklmnopqrstuvwxyz';} file_path = 'data.txt';
type SmallString = string[l]; WordsMas = array[1..n, 1..m] of SmallString;
var words: WordsMas; i, j, k: integer;
function RandomWord(n: integer): SmallString; var i: integer; s: SmallString; letters: string; begin letters := 'ABCDEFGHIJKLMNNNNNNNNNNNNOPQRSTUVWXXXXXXXXXXYZabcdefghijklmnopqrstuvwxyz'; s := ''; for i := 1 to n do s := s + letters[Random(length(letters) - 1) + 1]; RandomWord := s; end;
function Replace(s, find_text, replace_text: SmallString): SmallString; var i: integer; begin repeat i := pos(find_text, s); if i <> 0 then begin delete(s, i, length(find_text)); insert(replace_text, s, i); end; until i = 0;
Replace := s; end;
function Invert(s: SmallString): SmallString; var i: integer; t: SmallString; begin t := ''; for i := 1 to length(s) do t := s[i] + t;
Invert := t; end;
function SwapCase(s: SmallString): SmallString; var i: integer; begin for i := 1 to length(s) do if s[i] = upcase(s[i]) then s[i] := chr(ord(s[i]) + 32) else s[i] := upcase(s[i]);
SwapCase := s; end;
procedure PrintMas(mas: WordsMas; name: string); var i, j: integer; f: text; begin writeln(name); for i := 1 to n do begin
write(i, ': '); for j := 1 to m do write(mas[i, j]:l, '; '); writeln; end;
Assign(f, file_path); Append(f);
writeln(f, name); for i := 1 to n do begin
write(f, i, ': '); for j := 1 to m do write(f, mas[i, j]:l, '; '); writeln(f); end;
Close(f); end;
begin Randomize; ClrScr;
for i := 1 to n do for j := 1 to m do words[i, j] := RandomWord(Random(l - 5) + 5); {words[i, j] := 'GoodXXMMNN';}
PrintMas(words, 'Original');
for i := 1 to n do for j := 1 to m do case i of 1: words[i, j] := Replace(words[i, j], 'N', 'X'); 2: words[i, j] := Replace(words[i, j], 'X', 'M'); 3: words[i, j] := Invert(words[i, j]); 4: words[i, j] := SwapCase(words[i, j]); end;
Помогите : Красная Шапочка часто навещает свою бабушку . Но она очень Боится, что рано или поздно ее бабушку опять навестит волк. Поэтому она решила договориться с Лесничим об охране бабушке. Лесничий согласился охранять бабушку за 10 пирожков. Узнав об этом , волк сказал Красной Шапочке , что ей совершенно незачем тратить пирожки на Лесничего. За половину тех пирожков , которые Красная Шапочка несет,и не больше,чем запросил лесничий , Волк пообещал не трогать ее.Сегодня (29 ноября) в России отмечается день матери . Мама испекла несколько пирожков , и попросила Красную Шапочку отнести их бабушку.Требуется определить, сколько Красная Шапочка сможет донести до бабушки. Формат входных данных : Во Входном файле содержится N (1<N<100) - натуральное четное число - количество пирожков,которые испекла мама. Формат выходных данных: В единственную строку выходного файла нужно вывести одно число-количество пирожков , которые красная шапочка сможет донести до бабушки.