В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
azik55
azik55
26.11.2021 07:06 •  Информатика

Нужна в ! написать массив 5 строк 10 столбцов из случайных слов в которых есть как заглавные так и не заглавные буквы. первая строка n заменяет x вторая строка x заменяет на m третья строка инвитирует всю строку и каждую букву четвёртая строка строчные меняет на прописные прописные на заглавные. эти процедуры должны быть оформлены отдельно для каждой строки, также должен быть выбор процедур выполнения. вывести на экран начальный и конечный массив и записать в файл готов за ращение даже заплатить рублей 300-400

Показать ответ
Ответ:
kusrik
kusrik
08.10.2020 21:14
Uses crt;

const
    n = 5;
    m = 10; {кол-во столбцов}
    l = 10; {максимальная длина одной строки/слова}
    {letters = '';}
    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 := '';
    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;
    
    PrintMas(words, 'New One');
    
    Readln;
end.

Проверялось. Работает на Турбо паскале
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота