Нужна помощь в паскале!!!Написать массив 5 строк 10 столбцов из случайных слов в которых...

0 голосов
53 просмотров

Нужна помощь в паскале!!!
Написать массив 5 строк 10 столбцов из случайных слов в которых есть как заглавные так и не заглавные буквы.
Первая строка N заменяет X
Вторая строка X заменяет на M
Третья строка инвитирует всю строку и каждую букву
Четвёртая строка строчные меняет на прописные
Прописные на заглавные.

Эти процедуры должны быть оформлены отдельно для каждой строки, также должен быть выбор процедур выполнения.
Вывести на экран начальный и конечный массив и записать в файл

Готов за ращение даже заплатить рублей 300-400


Информатика (22 баллов) | 53 просмотров
0

или там что-то через random было связано

0

Пишется четыре процедуры и каким-нибудь case выбирается нужная. Так наверно...

0

наверно, боже соберите кто-нибудь из этого программу! я правда уже готов заплатить

0

и на когда надо?

0

до завтра прям было бы классно

0

Массив заполняется автоматически.Создай дополнительный массив-алфавит на основе ASCIIИ из его элементов случайным образом составляй слова.Третья процедура инвертирует строку и каждое слово.А не букву.

0

готов заплатить любому 400 рублей за решение этой программы. Оплату даже можем через сайты гаранты совершить - там и сделаем сделку

Дан 1 ответ
0 голосов
Правильный ответ

Uses crt;


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;
    
    PrintMas(words, 'New One');
    
    Readln;
end.

Проверялось. Работает на Турбо паскале





(55.0k баллов)
0

А теперь проверяйте работает ли это на турбо паскале. Если выдает ошибки то пишите номер строки и текст ошибки. Буду пытаться исправлять