01.06.2020, 02:23 [+3 UTC]
в нашей команде: 4 581 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
31.05.2020, 09:51

Последний вопрос:
01.06.2020, 02:06
Всего: 152539

Последний ответ:
01.06.2020, 01:40
Всего: 260229

Последняя рассылка:
31.05.2020, 18:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
29.12.2011, 10:40 »
Приходько Вячеслав Александрович
Как то не очень убедительно. Ведь для меня важна скорость обработки данных , а не доступность по сети. [вопрос № 184967, ответ № 269358]
15.12.2011, 23:10 »
Евгений
большое спасибо [вопрос № 184791, ответ № 269159]
17.06.2019, 15:01 »
dar777
Это самое лучшее решение! [вопрос № 195848, ответ № 278312]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 463
Delph
Статус: 3-й класс
Рейтинг: 318
puporev
Статус: Профессор
Рейтинг: 216

Перейти к консультации №:
 

Консультация онлайн # 197286
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: bodya (Посетитель)
Отправлена: 02.12.2019, 12:43
Поступило ответов: 2

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Составьте программу, упорядочивающую по убыванию элементы каждого строки матрицы размером m*n. (размер матрицы вводится с клавиатуры, но не более 10). Массив заполнить случайными вещественными числами от 0 до 20.

Приложение:

Состояние: Консультация закрыта

Ответ # 279204 от puporev (Профессор)

Здравствуйте, bodya!

Код (Pascal) :: выделить код
var a:array[1..10,1..10] of real;
    m,n,i,j,k:integer;
    x:real;
begin
randomize;
repeat
writeln('Введите размеры матрицы m,n от 2 до 10');
readln(m,n);
until(m in [2..10])and(n in [2..10]);
writeln('Исходная матрица');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(2001)/100;
    write(a[i,j]:6:2);
   end;
  writeln;
 end;
for i:=1 to m do
for j:=1 to n-1 do
for k:=j+1 to n do
if a[i,j]<a[i,k] then
 begin
  x:=a[i,j];
  a[i,j]:=a[i,k];
  a[i,k]:=x;
 end;
writeln('Сортировка строк по убыванию');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:6:2);
  writeln;
 end;
end.


Консультировал: puporev (Профессор)
Дата отправки: 02.12.2019, 13:33

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 279205 от Gluck (Посетитель)

Здравствуйте, bodya!
Вот еще вариант... Тип массива в описании и сортировке - поставишь Сам

Код (Pascal) :: выделить код
program Sort_Matr_Stroki;

uses crt;

var
  c: array[1..10, 1..10] of double; // описание массива - тип ????
  i, j: integer;
  n, m: integer;

procedure Sort(l: integer);
var
  i, j: integer; k: double;// сортировка массива - тип ????
begin
  for i := 1 to m do 
    for j := 1 to m do 
      if c[l, i] < c[l, j] then
      begin
        k := c[l, i]; 
        c[l, i] := c[l, j]; 
        c[l, j] := k;
      end;
end;

begin
  writeln('Введите размер матрицы, n,m <= 10');
  write('Введите n= ');
  readln(n); // Вводим размер матрицы
  write('Введите m= ');
  readln(m); // Вводим размер матрицы
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      c[i, j] := random(20);
      Write(c[i, j]:8:2);
    end;
    writeln;
  end;
  writeln;
  for i := 1 to n do Sort(i);
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      Write(c[i, j]:8:2);
    end;
    writeln;
  end;
  writeln('Для выхода -> Enter');
  readln;
end.

Последнее редактирование 14.01.2020, 18:46 Зенченко Константин Николаевич (Старший модератор)

Консультировал: Gluck (Посетитель)
Дата отправки: 02.12.2019, 13:50

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 197286
bodya
Посетитель

ID: 403420

# 1

= общий = | 19.12.2019, 13:17 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
puporev:

можно сделать с процедурами ?

puporev
Профессор

ID: 401888

# 2

= общий = | 19.12.2019, 13:29 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
bodya:

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

Код (Pascal) :: выделить код
type mtr=array[1..10,1..10] of real;
procedure matrix(var a:mtr;var m,n:integer);
var i,j:integer;
begin
repeat
writeln('Введите размеры матрицы m,n от 2 до 10');
readln(m,n);
until(m in [2..10])and(n in [2..10]);
writeln('Исходная матрица');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(2001)/100;
    write(a[i,j]:6:2);
   end;
  writeln;
 end;
end;
procedure sort(var a:mtr;m,n:integer);
var i,j,k:integer;
    x:real;
begin
for i:=1 to m do
for j:=1 to n-1 do
for k:=j+1 to n do
if a[i,j]<a[i,k] then
 begin
  x:=a[i,j];
  a[i,j]:=a[i,k];
  a[i,k]:=x;
 end;
writeln('Сортировка строк по убыванию');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:6:2);
  writeln;
 end;
end;
var a:mtr;
    m,n:integer;
begin
randomize;
matrix(a,m,n);
sort(a,m,n);
end.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.17771 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39