Работа с массивами - Pascal

  1. Помогите решить задание, это не выполнимое задание. Вариант 2 1. Поменять местами строки 5 и 6. Вывести получившийся массив на экран. 2. Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран. 3. Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран. 4. Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран. 5. Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран. 6. Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран. 7. Транспонировать матрицу: 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8

textual

Код:

const n=8;
var
  a:array[1..n,1..n] of integer;
  i,j:integer;
procedure Swap(var a,b:integer);
var
  t:integer;
begin
  t:=a;a:=b;b:=t;
end;
procedure InitMatrix(b:boolean);
var
  i,j,k:integer;
begin
  for i:=1 to n do 
    for j:=1 to n do begin
      k:=k+1;
      if b then a[i,j]:=k else a[i,j]:=i;
    end;  
end;
procedure PrintMatrix;
var
  i,j:integer;
begin
  for i:=1 to n do begin
    for j:=1 to n do write(a[i,j]:4);
    writeln;
  end;
end;
begin
  writeln('1.   Поменять местами строки 5 и 6. Вывести получившийся массив на экран.');
  InitMatrix(false);
  PrintMatrix;
  for j:=1 to n do Swap(a[5,j],a[6,j]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
  
  writeln('2.   Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран.');
  InitMatrix(true);
  PrintMatrix;
  for i:=1 to n do Swap(a[i,3],a[i,4]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('3.   Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран.');
  InitMatrix(true);
  PrintMatrix;
  for j:=1 to n div 2 do Swap(a[8,j],a[8,n-j+1]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('4.   Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран.');
  InitMatrix(false);
  PrintMatrix;
  for i:=1 to n div 2 do Swap(a[i,1],a[n-i+1,1]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('5.   Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран.');
  InitMatrix(false);
  PrintMatrix;
  for i:=1 to n-1 do if odd(i) then Swap(a[i,2],a[i+1,2]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('6.   Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран.');
  InitMatrix(true);
  PrintMatrix;
  for j:=1 to n div 2 do Swap(a[3,j],a[3,n div 2+j+n mod 2]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
  writeln('7.   Транспонировать матрицу:');
  InitMatrix(false);
  PrintMatrix;
  for i:=1 to n-1 do
    for j:=i+1 to n do Swap(a[i,j],a[j,i]);
  writeln('Полученная матрица:');
  PrintMatrix;
  readln;
 
end.

Похожие ответы
  1. Помогите пожалуйста решить задачи в Паскале, начало уже есть а вот дальше не могу. 1) Задача Создать одномерный массив из 13 элементов. Вычислить наименьшее значение из четных элементов. Вывести эти значения на экран.

  1. Даны два массива А и В одинакового размера N. Сформировать новый массив С того же размера, каждый элемент которого равен максимальному из элементов массивов А и В с тем же индексом. Заранее спасибо

  1. Вложение 408601написать программу на паскале и нарисовать блог-схему 7 ВАРИАНТ

  1. Задание: В программу обработки массива добавить процедуру обращения массива 1<-> n 2<-> n-1 3<-> n -2 ... т.д И функцию подсчета всех элементов. (Сейчас мы проходим тему процедуры и функции). Помогите, пожалуйста.

  1. Написать программу, которая создает одномерный массив из 12 элементов. Заполнить его либо с клавиатуры(от 0до99), либо с помощью генератора случайных чисел. Для выбора одного из двух вариантов заполнения программа задает вопрос пользователю. Затем программа должна инвертировать массив, путем замены первого элемента на последний, второго на предпоследний и т.д. вывод на экран должен произойти два разп: до инверсии и после

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

  1. Здравствуйте! Нужна помощь студенту специальности далёкой от программирования. Помогите кто чем сможет Необходимо сгенерировать матрицу случайных чисел размерностью 5 на 5 и в соответствии с имеющимся шаблоном (Шаблон: нижний левый треугольник - белый) сформировать итоговый массив по следующему правилу: если в шаблоне позиция зачернена, то в этой позиции в итоговую матрицу записывается число из той же позиции из исходной матрицы, иначе записывается 0.

  1. водится массив 4 на 4 поменять четные и не четные строчки местами,вывести на экран получившийся масив

  1. ребят, помогите с 2 и 3-м заданием кто знает: все нужно сделать в одной проге: 1) Сформировать массив элементов A по формуле a[i,j]:=(2*abs(3.3-i)-1.5)*(6.5-j)*exp(j*ln(2))*(i-3.4)*(j/3-1); Это я сделал. Все работает. Вот:

  1. Здравствуйте! Помогите найти ошибку в программе. Вот задача: Дана прямоугольная матрица А, состоящая из нулей и единиц. Посчитать в ней “веса” строк, т.е. отношение числа единиц в строке к общему числу элементов строки. Строки с “весом”, меньшим 0,5 , вычеркнуть, осуществив сжатие матрицы. Далее тоже проделать для столбцов уже сжатой матрицы. Написал код, но в некоторых случаях выводит результат неправильно. Код программы:


Нашли ошибку?
Развитие проекта
Яндекс.Метрика