polina1329
14.04.2021 12:47

Презентацію на тему "Моє місто" (кривой рог)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
bondarsofia
09.03.2021 15:44
В начале мы создаем массив случайных элем.
Потом работаем с ним.
Нам нужны 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; 

//Идем по массиву
//
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.
0,0(0 оценок)
Ответ:
karinapolushin
03.06.2020 19:23

Cумма равна 35.

Процедура печатает число, если в неё передается n, большее единицы, и при этом сначала срабатывают две процедуры, вложенные в неё.

Передаётся число 10. Оно больше 1. Начинается процедура от числа 7. Оно больше 1. Начинается процедура от числа 4. Оно больше 1. Начинается процедура от числа 1. Оно не больше 1.

Возвращаемся к числу 4. Начинается f(4 div 2), то есть процедура от числа 2. Оно больше 1. Начинается процедура от числа -1. Оно меньше 1. Начинается процедура от 2 div 2, т.е от 1. Число не больше 1. Обе процедуры для двойки выполнены. Печатается 2.

Обе процедуры для числа 4 тоже выполнены. Печатается 4.

Возвращаемся к числу 7. Выполняется вторая процедура для 7, то есть f(3). Обе её процедуры ничего не печатают. Тогда она сама печатает 3.

Обе процедуры для числа 7 выполнены. Печатается 7.

Теперь к самому первому числу 10. Начинается вторая его процедура, то есть от числа 5. Начинается первая процедура от 5, то есть f(2). Обе процедуры для числа 2 ничего не делают, печатается 2. Вторая процедура от 5 тоже 2. Аналогично печатается 2.

Обе процедуры числа 5 выполнены. Печатается 5.

Обе процедуры числа 10 выполнены. Печатается 10.

Ура! осталось посчитать сумму напечатанного.

2+4+3+7+2+2+5+10=35

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота