Паскаль можете объяснить как найти столбец в котором все элементы одинаковы? (речь о двумерном массиве) с учетом того, что i - число строк, j-число столбцов т.е элементы a[j] должны быть равны как это сделать? объясните, я новичок.
145
272
Ответы на вопрос:
Вначале мы создаем массив случайных элем. потом работаем с ним. нам нужны 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.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Helokiti234310.05.2020 08:21
-
propprap01.07.2020 09:18
-
GoldFish170105.01.2021 02:31
-
varvaraa227.06.2022 08:45
-
karlmed29.07.2022 23:18
-
Folsi22.08.2021 05:02
-
Алибабо24.03.2020 03:09
-
torimuse12.03.2023 18:41
-
иван115516.06.2020 12:55
-
ирина154618.05.2021 16:37
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.