Darya Aleksei1173
?>

Срешением в pascal, массивы. вопрос- дана матрица a(nxn вывести номера строк и столбцов в которых есть одинаковые элементы.

Информатика

Ответы

dianakryukova00
// PascalABC.NET 3.3, сборка 1623 от 16.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк (столбцов) в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(n,n,10,30);
  a.Println(3); Writeln(3*a.ColCount*'-');
  Write('Строки с повторяющимися элементами: ');
  var (i,k):=(0,0);
  foreach var строка in a.Rows do begin
    i+=1;
    if строка.Count<>строка.Distinct.Count then begin
      k+=1; Print(i)
      end
    end;
  if k=0 then Writeln('нет')
  else Writeln;
  Write('Столбцы с повторяющимися элементами: ');
  (i,k):=(0,0);
  foreach var столбец in a.Cols do begin
    i+=1;
    if столбец.Count<>столбец.Distinct.Count then begin
      k+=1; Print(i)
      end
    end;
  if k=0 then Writeln('нет')
  else Writeln
end.

Пример
Количество строк (столбцов) в массиве: 6
*** Исходный массив ***
 30 16 23 17 19 27
 18 13 21 19 21 11
 30 10 24 27 22 20
 19 28 15 29 15 18
 11 30 22 25 21 15
 27 14 27 28 18 28

Строки с повторяющимися элементами: 2 4 6
Столбцы с повторяющимися элементами: 1 5
million2003
1)
var n,z:integer;
begin
z:=0;//z=:0 знак присваивания выглядит вот так ":="
//n=:100 - не нужно иницилизировать параметр цикла.
for n:= 200 to 500 do begin//for n:=100 to 1000 do begin - цикл должен идти от 200 до 500, а не со 100 до 1000
if n mod 14 = 0 then //if (n div 14 =0) then - div - Целая часть от деления, а mod - остаток.
z:=z+1;//writeln(n); - Выводить n не нужно совсем, а вот увеличить счетчик не помешает
//z:=z+1;- а вот тут уже лишнее
end;
writeln(z);
end.

2)
-73, выполнится  15 - 8 + 1 =  8 раз
priemni451
Представь себе одну колею. Посредине отходит тупик на 11 вагонов. По краям два поезда.
1) Левый проезжает вперед и задком заходит в тупик, оставляя там 11 вагонов. Потом выезжает и возвращается на место - влево.
2) Правый подъезжает к вагонам и прицепляет к себе спереди паровоза (у паровоза "зад - перед" одно и то же) и оттаскивает на место вправо.
3) Левый опять протягивает вперед и задком полностью заезжает в тупик.
4) Правый двигается по колее, занимая место слева. Он теперь левый.
5) Левый выезжает и занимает место справа. Он теперь правый.
6) Левый протягивает назад и заталкивает в тупик 11 вагонов не своих. Выезжает обратно.
7) Правый подцепляет свои вагоны и каждый едет дальше!

Все это справедливо, если в тупик можно заехать с правой стороны. Если с левой - картина меняется на зеркальную.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Срешением в pascal, массивы. вопрос- дана матрица a(nxn вывести номера строк и столбцов в которых есть одинаковые элементы.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

КараханянКусков
vik1223
hobpack
oksanakv1950
kapi30
evgeniishulov4696
Strelkov567
Aleksandr72
v-zhigulin1
ashkiperova6
ИринаАлександровна
Dmitrii1763
annaan-dr582
Глазкова633
rastockin8410