Есть ответ 👍

Паскаль можете объяснить как найти столбец в котором все элементы одинаковы? (речь о двумерном массиве) с учетом того, что i - число строк, j-число столбцов т.е элементы a[j] должны быть равны как это сделать? объясните, я новичок.

145
272
Посмотреть ответы 2

Ответы на вопрос:


Вначале мы создаем массив случайных элем. потом работаем с ним. нам нужны 2 переменные: 1 - переменная, для сохранения результата (номера). 2 - переменная флажок. мы обходим весь массив по столбцам. в начале обхода конкретного столбца переменной флажка присвоим 1. сравниваем текущий элемент столбца с последующим, если они не равны то ставим флажок 0 код: //размерность массива const n = 3; //сам массив var  ar : array[1..n,1..n] of integer; //переменные для работы с массивом var  i,j : integer;   //переменные для поиска столбца //f - переменная флажок, которая по окончанию обхода столбца будет //показывать одинаковы ли элементы в нем //numb - переменная, в которой сохраним номер столбца с //одинаковыми значениями элементов. var  f,numb : integer; begin //создание и вывод на экран массива //элементы генерируются случайным образом //   for i: =1 to n do  begin    for j: =1 to n do    begin      ar[i,j] : = random(2);       write(ar[i,j]: 3);     end;     writeln;     end;     //   //вот сам алгоритм поиска// //записываем в numb значение -1 //если в процессе работы значение не изменится (-1) //то означает, что в массиве нет одинаковых столбцов   numb : = -1;   //идем по массиву // i,j (идем по столбцам, а не по строкам) for j: =1 to n do //момент начала конкретного j столбца        begin        //записываем в f значение 1   //предполагаем, что столбец одинаков   //если в конце обхода конкретного столбца значение f=1   //значит, что данный столбец  одинаков     f : = 1;         //идем по столбцу // предпоследнего n-1 //(т.к сравниваем текущий со следующим) for i: =1 to n-1 do    begin    //сравниваем текущий элемент столбца, со следующим      if (ar[i,j] < > ar[i+1,j]) then     //если они не равны, то изменяем значение флажка f на 0              f : = 0;     end;   //конец обхода  конкретного  столбца      //если столбец одинаков    if (f = 1) then     //то записываем его номер в numb            numb : = j;     end;     //    //вывод результата  if (numb < > -1) then    writeln('столбец №: ',numb)  else    writeln('нет ни одного одинакового столбца');       end.
WIS1
4,7(57 оценок)

10011.10001                   

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS