Срочно ребят помогите прошу нужно решить , а я никак не могу пол дня сижу и не получается...

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

Срочно ребят помогите прошу нужно решить , а я никак не могу пол дня сижу и не получается , завтра сдавать



Разработать алгоритм и написать программу на языке TURBO PASCAL
Сформировать одномерный массив из элементов массива двумерного по указанному правилу и упорядочить элементы созданного массива в соответствие с вариантом. Числа M и N вводятся с клавиатуры. Для задания исходной матрицы предусмотреть два варианта: ввод с клавиатуры и ввод с помощью датчика случайных чисел. Возможность выбора пользователем варианта ввода матрицы должна быть предусмотрена в тексте программы.
И САМО ЗАДАНИЕ
Сформировать массив В из Произведений элементов нечетных столбов массива А (m, n). Отсортировать массив по возрастанию.


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

если так начать?

0

а сможешь тогда с этой помочь? Сформировать массив В изЭлементов четных столбцов массива А (m, n)????

0

написал в коментах

0

кстати что именно ты вводишь?

0

кой че поменяла - попробуй

0

ввожу правильно

0

Program2.pas(13) : Ошибка времени выполнения: Входная строка имела неверный формат.

0

writeln('Размер массива n, m ==>'); if manual then он после этого действия чето ошибку говорит когда ввожу размер

0

это я так понял 1 что скидывал?

0

спасибо огромное тебе дай бог здоровья , от души правда

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

Var
    A: array[1..100, 1..100] of integer;
    B: array[1..100]of integer;
    i, j, k, n, m, imax: integer;
    manual: boolean;

begin
    writeln('Ручной ввод (true/false)==>');
    read(manual);
    
    if manual then begin
        writeln('Размер массива n, m ==>');
        read(n, m);
    end
    else begin
        n := random(10) + 5;
        m := random(10) + 5;
    end;
    
    for i := 1 to n do
    begin
        writeln();
        for j := 1 to m do
        begin
            if manual then
                read(a[i, j])
            else begin
                a[i, j] := random(100) - 50;
                write(a[i, j]:3, ' ');
            end;
        end;
    end;
    
    writeln();
    writeln();
    
    for j := 1 to m do
        if j mod 2 = 1 then begin
            k := k + 1;
            b[k] := 1;
            for i := 1 to n do
                b[k] := b[k] * a[i, j];
            write(b[k], ' ');
        end;
    
    writeln();
    
    for i := 1 to k - 1 do
    begin
        imax := i;
        for j := i + 1 to k do
            if b[j] > b[imax] then
                imax := j;
        n := b[i];
        b[i] := b[imax];
        b[imax] := n;
    end;
    
    for i := 1 to k do
        write(b[i], ' ');
end.

(53.1k баллов)
0

слушай ладно это огромное внеземное спасибо, а ты не могла бы мне еще с блок схемой помочь . это была бы непозволительная роскошь конечно

0

Почему не можешь? что не так?

0

я только немогу данные в ручную вводить

0

так заработало у тебя? нормально?

0

спасибо большое , даже не знаю как отблагодарить

0

в блок схемах не шарю

0

"10 20"

0

размер массива надо через пробел вводить

0

bи показывает красным где read

0

У меня работает