Двумерные массивы

Одномерный массив можно представить как линейную структуру, в которой элементы следуют друг за другом. Однако бывают более сложные структуры данных. Например, двумерные массивы, которые можно описать как таблицу, в ячейках которой располагаются значения. Для обращения к данным массива указывается номера их строк и столбцов. Часто табличные массивы называют матрицами.

Обычно двумерные массивы на языке программирования Pascal описываются так:

array [1..m, 1..n] of базовый_тип

Однако можно их описывать и по-другому:

array [1..m] of array [1..n] of базовый_тип

При этом описание может быть в разделе type и тогда создается новый тип, который можно использовать при объявлении переменных. Или массив может быть описан непосредственно в разделе переменных. m и n – это константы, их можно опустить и вставить конкретные значения, но лучше так не делать. Обычно подразумевают, что в интервале от 1 до m определяется количество строк, а в интервале от 1 до n – количество столбцов массива.

1 вариант – описание массива через раздел type:

const
	M = 10;
	N = 5;
type
	matrix = array [1..M, 1..N] of integer;
var
	a: matrix;

2 вариант – описание массива в разделе переменных:

const
	M = 10;
	N = 5;
var
	a: array [1..M, 1..N] of integer;

При использовании третьего варианта описания лучше сначала определить некоторый тип одномерного массива (строка двухмерного массива), который затем используется при описании двухмерного массива:

type a = array[1..10] of byte;
var b: array[1..100] of a;

Для обращения к элементу двухмерного массива необходимо указать имя массива и в квадратных скобках через запятую – значения двух индексов (первый указывает номер строки, а второй – номер столбца), на пересечение которых стоит элемент (например, a[i,2]:=6). В языке программирования Pascal допустимо разделение индексов с помощью квадратных скобок (например, a[i][5]:= 7).

Если описывается двумерный массив как типизированная константа, то при задании значений его элементов он рассматривается как массив массивов. При этом в общих круглых скобках через запятую перечисляются заключенные в круглые скобки значения элементов строк (каждая строка в своих скобках):

type
	arr = array[1..4, 1..3] of integer;
const
	cords: arr = ((1,-1,3), (0,0,0), (1,4,0), (4,-1,-1));

Рассмотрим простой пример работы с двумерным массивом. Сначала заполним его данными, а затем выведем их на экран в виде таблицы.

var
    matrix: array[1..3,1..5] of integer;
    i, j: integer;
 
begin
    writeln ('Введите 15 чисел: ');
 
    for i := 1 to 3 do
        for j := 1 to 5 do
            read (matrix[i,j]);
 
    for i := 1 to 3 do begin
        for j := 1 to 5 do
            write (matrix[i,j], ' ');
        writeln
    end;
 
readln
end.

Размерность массива (т.е. количество содержащихся в нем значений) определяется произведением количества строк на количество столбцов. В примере выше в массив помещается 15 значений.

Когда пользователь вводит очередное число, то процедура read считывает его и помещает в ячейку с текущими индексами i и j. Когда i равна единице, значение j меняется пять раз, и, значит, заполняется первая строка таблицы. Когда i равна двум, значение j снова меняется пять раз и заполняется вторая строка таблицы. Аналогично заполняется третья строка таблицы. Внутренний цикл for в общей сложности совершает 15 итераций, внешний только 3.

Как пользователь вводит значения – не важно. Он может их разделять либо пробелом, либо переходом на новую строку.

Вывод значений двумерного массива организован в виде таблицы. Выводятся 3 строки по 5 чисел в каждой. Внутри строк числа разделяются пробелом.

На самом деле, это не совсем корректно написанная программа. Мы несколько раз используем цифры 3 и 5. А что если мы захотим поменять размерность массива? Придется просмотреть всю программу (представьте, что она очень большая) и исправить значения. Это неэффективно. Поэтому в программе следует использовать константы. В случае чего их значения можно поменять всего лишь в одном месте.
Вторая проблема – это «кривость» выводимой на экран таблицы значений матрицы, в случае если есть значения разной разрядности (однозначное, двузначное и т.д. числа). Неплохо бы под каждое число отводить равное количество знаков.
Вот так может выглядеть подправленный вариант программы:

const
    M = 3;
    N = 5;
 
var
    matrix: array[1..M,1..N] of integer;
    i, j: integer;
 
begin
    writeln ('Введите 15 чисел: ');
 
    for i := 1 to M do
        for j := 1 to N do
            read (matrix[i,j]);
 
    for i := 1 to M do begin
        for j := 1 to N do
            write (matrix[i,j]:5);
        writeln
    end;
 
readln
end.

Комментарии

Решите пожалуйста .Дана

Решите пожалуйста .Дана матрица размером [n+5 x n+5]. Найти сумму элементов нечетных строк матрицы.

Разработка алгоритма задачи и составление программы на Паскале.

Помогите пожалуйста составить программу. а) В последовательности из N чисел, представляющей результаты опробования полиметаллической руды в перерасчёте на условный Zn, расставить элементы в порядке убывания.
б)Создать подпрограмму для сохранения исходных данных и результатов в виде одного текстового файла с комментариями к данным. Организовать работу программы при помощи меню.
в)Организовать вывод файла данных на принтер. Предусмотреть вывод файлов по произвольному пути. г)Двумя линиями разных цветов показать на экране графики изменчивости по исходной выборке и по обработанной.
1) составить формульно-словесное описание описание алгоритма решения задачи для пункта а);
2) составить структурную схему алгоритма для пункта а);
3) составить программу на языке Паскаль;
4) рассчитать контрольный вариант по формульно-словесному описанию;
5) составить отчёт.

массив A[1..n,1..m]

дано массив A[1..n,1..m]. Найти количество всех чисел кратных 2 и их место в массиве.
помогите пожалуйста..

Срочно надо!!Отчислить могут напишите программу пожалуйста!!!!

С клавиатуры вводится двумерный массив чисел размерностью n m
1)Вычислить сумму отрицательных элементов в каждой строке
2)определить max элемент в каждой строке
3)Переставить местами мах и мин десерт матрицы

Помогите с задачей, пожалуйста

Дан целочисленный двумерный массив размерностью N*M. Поменять местами первый элемент массива с максимальным элементом в последней строке.

Двузначные элементы главной диагонали

Дана целочисленная квадратная матрица. Найти количество двузначных элементов главной диагонали.

Решение задачи

const N=5; {поменять на заданное количество столбцов\строк}
var a:array[1..N, 1..N] of integer; i, k: integer;
 
BEGIN
k:=0;
for i:=1 to N do
 begin
 if (a[i,i] div 10 <> 0) and (a[i,i] div 100=0) then k:=k+1;
 end;
writeln (k);
END.

двухмерные массивы

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

в двумерном массиве

в двумерном массиве содержащем 15 строк и 10 столбцов посчитать сумму четырех элементов в каждой строке

матрицы

В матрице A[1..N,1..M] определить максимальный элемент
каждого столбца и записать их в массив.

без записи в массив Чтобы

без записи в массив

Чтобы записать в массив, надо его определить длинной, равной количеству столбцов (M). Массив одномерный. max не выводить, а делать очередным элементом этого массива.

ПОМОГИТЕ!!!!!!!!!!!!ПОЖАЛУЙСТА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(((

В целочисленной матрице 6 на 7 элементов подсчитать сумму отрицательных элементов, количество элементов больше 9 и опрделить максимальный элемент с указанием его координат.

Программа...

c#

вот в коде применить можно

int[,] arr = new int[6,7]; //объявили массив
Random rand = new Random(); //объявили переменную рандом
for(int k = 0; k < 6; k++)
{
for(int j = 0; j < 7; j++)
{
arr[k,j] = rand.Next(-25,26) // рандомные значение от -25 до 25 включительно [-25;26)
Console.Write(" "+arr[k,j]); //выводим на экран
}
Console.WriteLine();
}
int g = arr[0,0], h1 = 0, h2 = 0; 
for(int k = 0; k < 6; k++)
for(int j = 0; j < 7; j++)
if(g > arr[k, j]) 
{
g = arr[k, j] // ищем максимальный элементы и его координаты
h1 = k;
h2 = j;
}
Console.WriteLine("Максимальный элемент:{0} координаты [{1},{2}]", g, h1, h2);
int s = 0, i = 0;
foreach(int x in arr)
{
if(x < 0) s += x; // ищем сумму элементов чисел
if(x > 9) i++; // ищем количество элементов больше 9
}
Console.WtireLine("Сумма отриц. элементов:{0}\nКол-во элементов больше 9:{1}",s, i);

вроде все ясно)

Помогите пожалуйста)

Массив 5 строк на 10 клеток, берутся случайные числа от 0 до 20. Данная программа должна вывести все нечётные числа,все чётные числа,и количество данных
чисел (И для чётных,и для нечётных).Нужно,чтобы программа выводила эти числа в 5 строк и 10 столбцов,а не каждый раз с новой строки число)

Помогите с решением.

Сгенерировать квадратную матрицу T: m x n.Записать ее в файл matrica.txt. Вычислить произведение элементов лежащих по главной диагонали.

Запись табличных данных в

Запись табличных данных в файл и их чтение оттуда
Однако там не используется матрица как таковая. Чтобы она была, n надо сделать переменной-матрицей:
n: array[1..M,1..M];
Обращение к элементам матрицы:
n[i,j]

Произведение элементов главной диагонали:

mult := 1;
for i:=1 to M do
    mult := mult * n[i,i];

Помогите пожалуйста решить задачку....

Найти произведение наибольших значений по столбцам произвольной матрицы и их среднее значение.

помогите с задачами....

заполнить двумерный массив с клавиатуры
1) предусмотрите замену вводимых отрицательных элементов на (-1) положительных на 1 нулевые оставить без изменений. найти число элементов равных (-1), рассположенных в четных строках
2) сформировать одномерный массив путём деления положительных элементов заданной матрицы на число к. вывести полученный массив на экран.
3) заполнить одномерный массив суммами элементов строк, вывести полученную информацию на экран

Помогите мне с задачей, пожалуйста !

Дан двумерный массив. Вычислить и отпечатать суму положительных элементов в каждом столбце.

Помоги пожалуйста с задачей

Описать двумерный массив в разделе константа и найти сумму положительных и нечетных чисел

Массивы

Помогите определить фамилии тех сотрудников, значения заработных плат которых совпадают с соседями по ведомости в одном месяце. Куда подставить строки в программу:program z_1;

 type
 vedom = record
 fio: string;
 zar1: integer;
 zar2: integer;
 zar3: integer;
 zar4: integer;
 zar5: integer;
 zar6: integer;
 zar7: integer;
 zar8: integer;
 zar9: integer;
 zar10: integer;
 zar11: integer;
 zar12: integer;
 end;
 var
 mas: array [1..10] of vedom;
 n,i: integer;
 procedure input;
 begin
 writeln('Работник №',i);
 write('Введите ФИО: ');
 readln(mas[i].fio);
 write('Зароботная плата за январь: ');
 readln(mas[i].zar1);
 write('Зароботная плата за февраль: ');
 readln(mas[i].zar2);
 write('Зароботная плата за март: ');
 readln(mas[i].zar3);
 write('Зароботная плата за апрель: ');
 readln(mas[i].zar4);
 write('Зароботная плата за май: ');
 readln(mas[i].zar5);
 write('Зароботная плата за июнь: ');
 readln(mas[i].zar6);
 write('Зароботная плата за июль: ');
 readln(mas[i].zar7);
 write('Зароботная плата за август: ');
 readln(mas[i].zar8);
 write('Зароботная плата за сентябрь: ');
 readln(mas[i].zar9);
 write('Зароботная плата за октябрь: ');
 readln(mas[i].zar10);
 write('Зароботная плата за ноябрь: ');
 readln(mas[i].zar11);
 write('Зароботная плата за декабрь: ');
 readln(mas[i].zar12);
 writeln;
end;
procedure output;
begin
writeln(mas[i].fio:30, ' | ', mas[i].zar1, ' | ', mas[i].zar2, ' | ', mas[i].zar3, ' | ', mas[i].zar4, ' | ', mas[i].zar5, ' | ', mas[i].zar6, ' | ', mas[i].zar7, ' | ', mas[i].zar8, ' | ', mas[i].zar9, ' | ', mas[i].zar10, ' | ', mas[i].zar11, ' | ', mas[i].zar12);
end;
 begin
 writeln('Количество работников:');
    readln(n);
     writeln;
     writeln('Введите фамилию работников ');
    for i:=1 to n do
    input;
 writeln;
    writeln('Ведомость');
    writeln('ФИО':30, ' | ', 'Зар. плата');
    for i:=1 to n do
    output;
end.

Помогите с матрицей, пожалуйста.

Дана целочисленная квадратная матрица. Определить:
1. Сумму элементов в тех столбцах, которые не содержат отрицательных элементов (оформить в виде функции).
2. Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы (оформить в виде процедуры).

Как то так:

const
  m = 5; 
 
type
  massive = array [1..m, 1..m] of integer;
 
var
  mas1: massive;
 
//процедура задания матрицы(рандом)
procedure zadanie(var mas: massive);
var
  i, j: integer;
begin
  for i := 1 to m do
  begin
    for j := 1 to m do begin mas[i, j] := random(14) - 5;write(mas[i, j]:4); end;
    writeln;
  end;
end;
 
//функция нахождения суммы в столбце при соответствии условию
function func(mas:massive; k: integer): integer;
var
  sum, l,t: integer;
begin
  for l:= 1 to m do
    for k:= k to k do
      if mas[l, k] >= 0 then  begin  sum := sum + mas[l, k];inc(t);end;
      if t = m then  func := sum;
  end;
 
//процедура нахождения сумм столбцов удовлетворяющих условию
procedure summavstolb(var mas: massive);
var
  i, j: integer;
 
begin
  for j := 1 to m do
  begin
    if func(mas,j) > 0 then writeln('в ', j, ' столбце сумма равна ', func(mas,j));
  end;
end;
 
//процедура нахождения сумм диагоналей параллельных побочной
procedure diagonal(var mas:massive);
var sum: array[1..m * 2 - 4]of integer;
p,t, k, i, j: integer;
begin
 // верхние диагонали параллельные побочной
 k := 1;
for t:=1 to m-1 do
  if k<m-1 then
  begin
   inc(k);
   i:=k;j:=1;
   while (i >= 1) and (j <= k)  do
   begin   sum[t] := sum[t] + abs(mas[i, j]);i:=i-1;j:=j+1;end;
  end;
  writeln;
 
 // нижние диагонали параллельные побочной
 p:=1;
 for t:=m-1 to m*2-2 do
  if p <m-1  then
  begin
   k:=m;inc(p);
   i:=k;j:=p;
   while  (j <= k)  do
   begin   sum[t] := sum[t] + abs(mas[i, j]);i:=i-1;j:=j+1;end;
  end;
  p:=t;
  writeln('Cуммы элементов диагоналей параллельных побочной по модулю:');
  var min:=sum[1];
  for t:=1 to m*2-4 do
    begin write(sum[t],' ');
    if sum[t]<min then min:=sum[t];
    end;
 
 writeln(#10,'Минимум суммы элементов среди диагоналей параллельных побочной по модулю:= ', min);
 readln;
end;
 
begin
  zadanie(mas1);
  summavstolb(mas1);
  diagonal(mas1);
end.

дан двумерный массив.

дан двумерный массив. определить:
а) максимальное значение среди элементов пятой строки массива;
б) минимальное значение среди элементов четвертого столбца массива.

В квадратной матрице заменить

В квадратной матрице заменить все симметричные и равные элементы на нули. Решить с помощью процедур.

Как понять?1) Если

Как понять?
1) Если симметричные элементы равны друг другу, то заменить их на нули.
или
2) Первая подзадача - заменить на нули все симметричные элементы. И вторая подзадача - заменить на нули все равные элементы.

ps. Симметричные элементы: a[i,j] и a[j,i]. Например, a[3,5] и a[5,3].

Масивы и процедуры

Дана матрица. Вставить первую строку перед строкой, в которой находится первый минимальный элемент. Решить нужно с помощью процедур.

Прошу прощение если криво только учусь =_=. Но зато работает ))

//Дана матрица. Вставить первую строку перед строкой, в которой находится первый минимальный элемент. Решить нужно с помощью процедур. (как я понял переместить первую в указанное место)

const
  n = 4;
type
  matr = array [1..5, 1..5]of integer;
var
  mas: matr;
 
procedure massive(var m: matr);
var
  i, j: integer;
begin
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      m[i, j] := random(105) + 3;
      write(m[i, j]:5); end;
    writeln;
  end;
end;
 
procedure min_el(var m: matr);
var
  x: matr;
  i, j, k, p, min: integer;
begin
  min := 999;
  for i := n downto 1 do
    for j := n downto 1 do
      if m[i, j] < min then
      begin min := m[i, j];k := i;p := j; end;
  writeln('min_el:=', min, ' position [', k, ',', p, ']');
 
  if k > 2 then
  begin
    for i := 1 to 1 do
      for j := 1 to n do 
        x[1, j] := m[1, j];
 
    writeln;writeln;
    for i := 2 to k - 1 do
      for j := 1 to n do
        m[i - 1, j] := m[i, j];
    for i := k to k do
      for j := 1 to n do 
        m[k - 1, j] := x[1, j];
 
    for i := 1 to n do
    begin
      for j := 1 to n do 
        write(m[i, j]:5);writeln; end;
  end;
end;
 
begin
  massive(mas);
  min_el(mas);
end.

Ошибку сделал, нашел исправился)

//необходмо:

for i := n downto 1 do
    for j := n downto 1 do
      if m[i, j] <= min then
      begin min := m[i, j];k := i;p := j; end;

========================
Либо
for i := 1 to n do
    for j := 1 to n do
      if m[i, j] < min then
      begin min := m[i, j];k := i;p := j; end;

========================
так как ищет не первый минимальный а последний минимальный элемент массива

Помогите решить задачу. Найти

Помогите решить задачу. Найти максимальный диагональный элемент и указать его координаты в главной диагонали матрицы

Даны три матрицы разных

Даны три матрицы разных порядков. Найти сумму их наименьших элементов (считая, что в каждой матрице такой элемент единственный).

Даны три матрицы разных

//Даны три матрицы разных порядков. Найти сумму их наименьших элементов (считая, что в каждой матрице такой элемент единственный).

const
m=5; n=5;
type 
mas = array[1..5,1..5]of integer;
var a,b,c:mas;q,w,e:integer;
 
procedure rand_arr(var massive:mas);//поцедура задания рандомной матрицы
var i,j:integer; 
begin
for i:=1 to m do
  begin
  for j:=1 to n do
     begin massive[i,j]:=random(300)+1;write(massive[i,j]:5);end;
     writeln;
  end;
end;
 
procedure min_el(var massive:mas;var p:integer);//процедура нахождения мин. эл-та
var min,i,j:integer;
begin
min:=9999;
for i:=1 to m do
  for j:=1 to n do
    if massive[i,j] < min then min:= massive[i,j];
    p:=min;
end;
 
begin
writeln('1 матрица');rand_arr(a);min_el(a,q);writeln('мин. эл-т 1 матрицы:=',q);
writeln('2 матрица');rand_arr(b);min_el(b,w);writeln('мин. эл-т 2 матрицы:=',w);
writeln('3 матрица');rand_arr(c);min_el(c,e);writeln('мин. эл-т 3 матрицы:=',e);
writeln('сумма мин. элементов матриц:=', q+w+e);
end.    

Очень простая задача.

Очень простая задача. Перебираете каждую матрицу отдельно на поиск ее минимума. Потом складываете три минимума.

Попросите пользователя ввести

Попросите пользователя ввести массив целых чисел (первым делом спросив общее количество элементов массива). Определить, какие из элементов отличаются от среднего арифметического значения из массива.
например: array 1.5,4,10.8, 2.2,1,10,4.7,5,10 – 5 элементов.(5 целых чисел)

Если объявлен целочисленный

Если объявлен целочисленный массив, то как в ряду могут появиться дробные значения?

Может быть задача должна быть типа такой.

Функции и процедуры

Рассмотреть массив A[1 .. n] n <= 100 упорядоченных возрастающих целых чисел n<=100 и целое число Y. Написать Булевский тип которая возвращает true или false в зависимости от того если Y находится или нет в массиве А.

1) Дан массив 6*7,

1) Дан массив 6*7, заполненный дробными числами с 1 знаком после запятой. Найти произведение элементов некоторого стобца.

2) В одномерном массиве найти среднее арифм. тех эл-ов, которые по модулю больше своего индекса.

Решение 1) задачи:

Решение 1) задачи: http://pas1.ru/matrix-round-real

В-1 В кинотеатре n рядов по m

В-1
В кинотеатре n рядов по m мест в каждом. В соответствующем двумерном массиве хранится информация о проданных билетах на определённый сеанс (единицы означают, что на данные места билеты уже проданы, нули – что данные места ещё свободны). Поступил запрос на продажу k билетов на соседние места в одном ряду. Определить, можно ли удовлетворить такой запрос.
В-2
Распечатать значения элементов строки из двумерного массива раз-мерностью n x m с наибольшим количеством положительных элементов.
В-3
В двумерном массиве размерностью n x m определить минимальный по величине элемент и вычесть его из элементов той строки и того столбца на пересечении которых он стоит. Преобразованный массив распечатать.
В-4
В двумерном массиве размерностью n x m поменять местами минимальный и максимальный элементы каждой строки. Преобразованный массив распечатать.
В-5
Определить минимальный элемент квадратной матрицы, расположенный в левой части, ограниченной диагоналями, включая диагональные элементы.
В-6
В двумерном массиве размерностью n x m найти максимальный по абсолютному значению элемент массива.
В-7
В двумерном массиве размерностью n x m найти сумму элементов, индексы которых в сумме составляют K.
В-8
В двумерном массиве размерностью n x m найти среднее арифметическое значение элементов массива с точностью до двух десятичных знаков.
В-9
В двумерном массиве размерностью n x m найти сумму элементов, стоящих на побочной диагонали.
В10
В двумерном массиве размерностью n x m найти сумму элементов, стоящих на главной диагонали.

B-1:uses crt;var

B-1:
uses crt;
var   i,j,m,l,k,n:integer;
      kino:array [1..100,1..100] of integer;
begin
  write('Vvedite kolichestvo mest i radov: ');
  readln(m,n);
  write('Vvedite kolichestvo neobhodimich mest: ');
  readln(k);
 
  for i:=1 to n do
    for j:=1 to m do
      read(kino[i,j]);
 
    clrscr;
    for i:=1 to n do
     begin
     for j:=1 to m do
       write(kino[i,j]:5);
     writeln();
     end;    
 
 
  l:=0;
 
  for i:=1 to n do
     begin
       for j:=1 to m do
         begin
             if kino[i,j]=0 then l:=l+1
                            else l:=0;
              if l=k then break;
         end;
        if l=k then break;
     end;
 
  if l=k then writeln('DA!!!') else writeln('NET!!!!');
  readln();
end.

Почему TAK дает отрицательного числа

не могу понять где ошибка ?

даются следующий массив:
1 3 1 10
0 -5 -2 -16
0 0 -2 -6

Почему TAK дает отрицательного числа
y:=(((a[2,3] * 3)- a[2,4])/a[2,2]); => -2
Почему TAK HE дает отрицательного числа
y:=(2*3-16)/-5; => 2

потому что

потому что a[2,4]:=-16;
y:=(((2*3)-(-16))/(-5);

Почему так

Более точно: a[2,3] в массиве имеет знак "-", а во втором случае выражение 2*3 - положительно.

составить программу,

составить программу, позволяющую с помощью датчика случайных чисел сформировать матрицу (mxn). Значение m и n ввести с клавиатуры. переставить строки так, чтобы суммы их убывали. На экран вывести исходную матрицу в общепринятом виде и результаты расчета с соответствующими комментариями.

задача

Издевательство
(Время: 1 сек. Память: 16 Мб Сложность: 28%)

Штирлиц ехал на машине, увидел голосующего Бормана, и проехал мимо. Через некоторое время он снова увидел голосующего Бормана, и снова проехал мимо. Вскоре он опять увидел голосующего Бормана.
- Издевается! - подумал Борман.
- Кольцевая! - догадался Штирлиц.

В городе N площадей. Любые две площади соединены между собой ровно одной дорогой с двусторонним движением. В этом городе живет Штирлиц. У Штирлица есть хобби - он любит воскресным утром выйти из дома, сесть в машину, выбрать какой-нибудь кольцевой маршрут, проходящий ровно по трем площадям (то есть сначала он едет с какой-то площади на какую-то другую, потом - на третью, затем возвращается на начальную, и опять едет по этому маршруту). Он воображает, что где-то на этом пути стоит Борман. И так вот ездит Штирлиц все воскресенье, пока голова не закружится, и радуется...

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

Во входном файле INPUT.TXT записано сначала число N (3 <= N <= 100), а затем матрица NxN расстояний между площадями (число в позиции i,j обозначает длину дороги, соединяющей i-ую и j-ую площади). Все числа в матрице (кроме стоящих на главной диагонали) - натуральные, не превышающие 1000. Матрица симметрична относительно главной диагонали, на главной диагонали стоят 0.
Выходные данные

В выходной файл OUTPUT.TXT выведите длину оптимального маршрута.
Пример№ INPUT.TXT OUTPUT.TXT
1 5
0 20 10 30 40 24
20 0 30 1 2
10 30 0 40 1000
30 1 40 0 21
40 2 1000 21 0
помогите решить пожалуйсто срочно!!

Дан двумерный массив,

Дан двумерный массив, содержащий З строки и 4 столбца. Элементами массива являются целые числа. Найти минимальный элемент каждого столбца указанного массива. Элементы каждого из столбцов уменьшить на найденное минимальное значение этого столбца. Результат получить в другом массиве.

Помогите пожалуйста!!!

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

2) Даны целые числа а1,а2,...аn.Удалить из последовательности все члены со значением max(a1,a2,...an).

3) Дана действительная матрица размера N*M. Определить имеются ли в ней столбцы со знакочередующимися элементами.

4) Отсортировать целочисленную квадратную матрицу порядка 5 в порядке убывания сумм положительных элементов столбцов.

ДВУМЕРНЫЕ МАССИВЫ

ПОМОГИТЕ ПОЖАЛУЙСТА. В ЗАДАННОМ ДВУМЕРНОМ МАССИВЕ ПОМЕНЯТЬ МЕСТАМИ СТРОКИ С ЗАДАННЫМИ НОМЕРАМИ М И Н