a: array [1..20] of integer; {объявляем целочисленный массив на 20 элементов}
i, min, t, m: integer; {i - счетчик, min - минимум, t, m - временные переменные}
begin
{рандом 20 чисел в диапазоне [-20; 12]}
randomize;
for i: =1 to 20 do
a[i]: =random(33)-20;
min: =a[1]; //присваиваем минимуму первый элемент.
{цикл начинается с 2, чтобы не делать лишнюю итерацию}
for i: =2 to 20 do
begin
{если минимум больше текущего значения элемента массива, то минимуму присваивается это значение и запоминаем его индекс, чтобы в дальнейшем поменять минимальный элемент с последним.}
if min > a[i] then
begin
min: =a[i];
m: =i;
end;
end;
{выводим старый массив}
writeln('старый массив: ');
for i: =1 to 20 do
writeln(a[i]);
{меняем местами последний элемент с минимальным}
t: =a[20];
a[20]: =min;
a[m]: = t;
{выводим новый массив}
writeln('новый массив: ');
for i: =1 to 20 do
writeln(a[i]);
end.
kiruha0378
30.11.2020
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 раз
spz03
30.11.2020
Type digits=array[0..9] of byte; procedure rd(n: integer; var ad: digits; var f: boolean); { заполняет массив количеством повторений цифр числа n f=true, если хоть одна цифра повторяется } var i,d: byte; begin for i: =0 to 9 do ad[i]: =0; f: =false; while n> 0 do begin d: =n mod 10; ad[d]: =ad[d]+1; if ad[d]> 1 then f: =true; n: =n div 10 end; end; var i,j,n,k: integer; a: digits; f: boolean; begin for i: =1 to 2 do begin write('n = '); read(n); n: =abs(n); { против ввода отрицательных } rd(n,a,f); if f then begin write('встречаются больше одного раза цифры '); for j: =0 to 9 do if a[j]> 1 then write(j,' '); writeln end else writeln('все цифры в числе уникальны') end end. пример n = 153632 встречаются больше одного раза цифры 3 n = 1030041 встречаются больше одного раза цифры 0 1 var s,sr: string; c: char; i,j,n,p: byte; begin for i: =1 to 2 do begin write('введите строку: '); readln(s); n: =length(s); sr: =''; for j: =1 to n do begin c: =s[j]; if pos(c,copy(s,j+1,n-j))> 0 then sr: =sr+c+' '; end; if length(sr)> 0 then writeln('встречаются больше одного раза символы ',sr) else writeln('все символы в строке уникальны') end end. пример введите строку: информатика встречаются больше одного раза символы и а введите строку: проблема все символы в строке уникальны
ответ:
язык: pascal.
var
a: array [1..20] of integer; {объявляем целочисленный массив на 20 элементов}
i, min, t, m: integer; {i - счетчик, min - минимум, t, m - временные переменные}
begin
{рандом 20 чисел в диапазоне [-20; 12]}
randomize;
for i: =1 to 20 do
a[i]: =random(33)-20;
min: =a[1]; //присваиваем минимуму первый элемент.
{цикл начинается с 2, чтобы не делать лишнюю итерацию}
for i: =2 to 20 do
begin
{если минимум больше текущего значения элемента массива, то минимуму присваивается это значение и запоминаем его индекс, чтобы в дальнейшем поменять минимальный элемент с последним.}
if min > a[i] then
begin
min: =a[i];
m: =i;
end;
end;
{выводим старый массив}
writeln('старый массив: ');
for i: =1 to 20 do
writeln(a[i]);
{меняем местами последний элемент с минимальным}
t: =a[20];
a[20]: =min;
a[m]: = t;
{выводим новый массив}
writeln('новый массив: ');
for i: =1 to 20 do
writeln(a[i]);
end.