Работа с массивами - 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

Код к задаче: «Работа с массивами - Pascal»

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.

СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 3.800 из 5



Похожие ответы
  1. В заданной строке текста слова разделены произвольным числом пробелов. Выписать все слова, в которых отсутствуют буквы(б,в,г,д,с,л,м,н,р).

  1. Составить программу для вычисления значения функции y=ln(1-x) с помощью разложения функции в степенной ряд: Ln(1-x) =-x/1-(x)^2/2-(x)^3/3-(x)^4/4...-(x)^n/n+... Помогите пжл.

  1. Составить программу. Пусть дан массив из n элементов.Каждый отрицательный элемент замените полусуммой тех двух элементов, которые стоят с ним справа и слева. Помогите пожалуйста.

  1. Доброго дня всем. Такое вот задание: Описать, используя структуру данных запись, завод (наименование станка, время простоя в месяц, время работы в месяц). Составить программу, определяющую общее время простоя на заводе, списки станков, не имеющих простоя, относительное время простоя всех и каждого станка. Похожие уже написанные программы смотрел, под редактирование не подошли. Помогите пожалуйста с написанием

  1. Составить программу формирования по вещественной квадратной матрице А={a}_{ij},i=1/n,j=1/m логического вектора B={b}_{i},i=1/n,где {b}_{i} имеет значение true, если наибольший элемент в строке с номером i матрицы А не больше заданного Х,и значение false-в противном случае

  1. Помогите написать программу: В массиве из 10 целых чисел подсчитать сумму элементов более чем в 2 рах превышающих минимальный.

  1. Для введенного с клавиатуры произвольного целого числа определить все возможные целые делители, кроме 1 и самого числа. Если число не имеет таких делителей, сообщить об этом. (Например: для 20 – 2,4,5,10; для 21 - 3,7; для 23 – «нет делителей»).

  1. Помогите найти сумму компонентов a1+aN, a2+aN-1, a3+aN-2, ..., ak+am для k<=m.

  1. - Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результат на дисплей в виде строки. - Длина строки заранее не вводится, а определяется после окончания ввода с клавиатуры. - В строке группы символов разделяются одним или несколькими пробелами. Пробелы могут находиться в начале и в конце строки. Группа символов - последовательность букв, цифр или знаков, отделенная пробелами от других групп или находящаяся в начале/конце строки. - Все буквы считать вводимыми только в нижнем регистре, Заглавные буквы не рассматривать. - В заголовок окна программы записать свои данные: имя, фамилию и номер варианта. Примеры возможных строк: ‘ 12.3 tryi yu ()?*‘, ‘ 6е-1 swty +12_3‘ Напечатать: Группы символов, состоящие только из латинских букв, если в них есть повторяющиеся буквы.

  1. Даны три вещественных числа x,y,z. Определить, существует ли треугольник с длинами сторон x,y,z. Если треугольник существует, определить его тип (равносторонний, равнобедренный, прямоугольный) и вычислить все углы в градусах. Напечатать длины сторон с противолежащими углами.