Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2016, 13:03   #1
Kamikaze0
 
Регистрация: 22.03.2016
Сообщений: 3
По умолчанию функция замены указанных строк местами в матрице, с последующим выводом на экран

Код:
program mass;

type
  mas = array[1..10, 1..10] of integer;

var
  n, i, j, x: integer;
  m: mas;

function init(a: mas; cnt: integer): mas;
var
  k, h: integer;
begin
  for k := 1 to n do
    for h := 1 to n do
      a[k, h] := 0;
end;

function rand(a: mas; cnt: integer): mas;
var
  v, w: integer;
begin
  for v := 1 to n do
    for w := 1 to n do
      a[v, w] := Random(100);
  Rand := a;
end;

function vvod(a: mas; cnt: integer): mas;
var
  r, t: integer;
begin
  for r := 1 to n do
    for t := 1 to n do
    begin
      writeln(' m[', r, ',', t, ']=');
      read(a[r, t]);
      vvod:=a;
    end;
end;

function print(a: mas; cnt: integer): mas;
var
  k1, k2: integer;
begin
  for k1 := 1 to n do
  begin
    writeln;
    for k2 := 1 to n do
      write(' a[', k1, ',', k2, ']=', a[k1, k2]);
  end;
end;


function Zamena(a:mas; cnt: integer): mas;



begin
  Writeln('Введите размерность квадратного массива, n');
  Readln(n);
  repeat
    
    writeln;
    writeln('1.)Заполнить массив вручную');
    writeln('2.)Процедура инициализации');
    writeln('3.)Заполнить массив рандомно');
    writeln('4.)Процедура вывода массива');
    writeln('5.)Выход');
    writeln('6.)Замена указанных строк местами');
    writeln('Введите цифру операции');
    
    readln(x);
    case x of
      1: m := vvod(m, n);
      2: m := init(m, n);
      3: m := rand(m, n);
      4: m := print(m, n);
      6:
    end;
  until x = 5;
end.
имеется программа. не пойму никак, как сделать функцию, в которой будет происходит следующая операция: когда человек нажмет кнопку 6- у него программа должна спросить, какие строки местами в матрице он хотел бы поменять;с последующим выводом результата на экран. кто сможет понятно объяснить и написать данную функцию замены?
Вложения
Тип файла: txt Новый текстовый документ (2).txt (1.5 Кб, 112 просмотров)

Последний раз редактировалось Kamikaze0; 22.03.2016 в 13:07.
Kamikaze0 вне форума Ответить с цитированием
Старый 22.03.2016, 21:53   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Перестановку можно, например, выполнить так:
Запросил номера переставляемых строк - n и m.
В цикле по столбцам (число столбцов K):
Код:
...
for i := 1 to K do
begin
   t := Matr[n,i];
   Matr[n,i] := Matr[m,i];
   Matr[m,i] := t;
end;
...
Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Счётчик кликов на php с последующим выводом(Codeigniter) semjaza Помощь студентам 0 13.11.2014 21:28
Поменять местами строки в матрице Alexey Smirnov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 06.06.2014 19:08
Поменять местами i-строку с j-столбцом в матрице AZelensky Помощь студентам 0 16.12.2013 20:37
Выбор картинки из listBox с последующим выводом в pictureBox C# Авторитет Общие вопросы .NET 4 13.06.2010 10:57
проблема с выводом на экран Sined121 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 08.05.2010 16:48