ПОМОГИТЕ,ПОЖАЛУЙСТА,Безотлагательно Необходимо!!! Задачки по Паскалю: 1.Задать одномерный массив из 10
ПОМОГИТЕ,ПОЖАЛУЙСТА,СРОЧНО Необходимо!!! Задачки по Паскалю: 1.Задать одномерный массив из 10 чисел, которые полученные случайным образом.
1) Поменять местами левую и правую половину.
2) Элементы массива больше 10 поменять на 100.
3) Удалить из массива наибольший элемент, а перед минимальным элементом воткнуть 0.
2.Задать одномерный массив из 10 чисел, которые приобретенные случайным образом.
1) Вывести на экран только нечётные элементы.
2) Элементы массива, стоящие на чётных позициях заменить на 0.
3) Удалить из массива последний нечетный элемент, а перед 3 элементом воткнуть 100.
Мирослава Клочихина
Даже не представляю. учитель не учит,а только просит. это нужно как-то решить за несколько дней...
1 ответ
Владислав Зельбович
Задание 1
const
n=10;
var
a:array[1..n] of integer;
i,k,t,imin,imax:integer;
begin
randomize; инициализация датчика пчевдослучайных чисел
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
a[i]:=random(20); интервал [0;19]
Write(a[i]:4)
end;
Writeln;
1. меняем местами правую и левую половины
Writeln('*** 1 ***');
k:=n div 2;
for i:=1 to k do begin
t:=a[i]; a[i]:=a[i+k]; a[i+k]:=t
end;
for i:=1 to n do Write(a[i]:4);
Writeln;
2. Элементы массива, великие 10, сменяем на 100
for i:=1 to k do
if a[i]gt;10 then a[i]:=100;
Writeln('*** 2 ***');
for i:=1 to n do Write(a[i]:4);
Writeln;
3. Устраняем максимальный элемент, вставляем 0 перед наименьшим
запудренная задача !
Writeln('*** Начальный массив ***');
for i:=1 to n do begin
a[i]:=random(50)+1; интервал [1;49]
Write(a[i]:4)
end;
Writeln; Writeln('*** 3 ***');
imin:=1; imax:=1;
for i:=2 to n do
if a[i]gt;a[imax] then imax:=i
else
if a[i]lt;a[imin] then imin:=i;
if imin lt; imax then begin малый встречается раньше наибольшего
подвигаем вправо на 1 все элементы от imin и до imax
for i:=imax-1 downto imin do a[i+1]:=a[i];
a[imin]:=0 вставляем 0 в позицию imin
end
else begin малый встречается позднее наибольшего
подвигаем на лево на 1 элементы от imax до imin -1
for i:=imax to imin-1 do a[i]:=a[i+1];
a[imin-1]:=0; вставляем 0 в позицию перед imin
end;
for i:=1 to n do Write(a[i]:4);
Writeln
end.
Пример
*** Начальный массив ***
14 1 11 7 14 8 12 8 1 14
*** 1 ***
8 12 8 1 14 14 1 11 7 14
*** 2 ***
8 100 8 1 100 14 1 11 7 14
*** Исходный массив ***
24 36 25 4 42 42 16 39 45 44
*** 3 ***
24 36 25 0 4 42 42 16 39 44
Задание 2
const
n=10;
var
a:array[1..n] of integer;
i:integer;
begin
randomize; инициализация датчика пчевдослучайных чисел
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
a[i]:=random(20); интервал [0;19]
Write(a[i]:4)
end;
Writeln;
1. выводим нечетные элементы
Writeln('*** 1 ***');
for i:=1 to n do
if a[i] mod 2 lt;gt;0 then Write(a[i]:4);
Writeln;
2. Элементы на четных позициях обнуляем
i:=2;
while ilt;=n do begin
a[i]:=0;
i:=i+2
end;
Writeln('*** 2 ***');
for i:=1 to n do Write(a[i]:4);
Writeln
end.
Пример
*** Исходный массив ***
12 0 14 8 13 17 3 1 12 17
*** 1 ***
13 17 3 1 17
*** 2 ***
12 0 14 0 13 0 3 0 12 0
Замечание:
Третью подзадачу решить в таковой постановке невозможно.
В самом деле, нужно удалить заключительный нечетный элемент, а перед третьим элементом вставить ноль. Что делать, если этим последним нечетным окажется 3-ий?
const
n=10;
var
a:array[1..n] of integer;
i,k,t,imin,imax:integer;
begin
randomize; инициализация датчика пчевдослучайных чисел
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
a[i]:=random(20); интервал [0;19]
Write(a[i]:4)
end;
Writeln;
1. меняем местами правую и левую половины
Writeln('*** 1 ***');
k:=n div 2;
for i:=1 to k do begin
t:=a[i]; a[i]:=a[i+k]; a[i+k]:=t
end;
for i:=1 to n do Write(a[i]:4);
Writeln;
2. Элементы массива, великие 10, сменяем на 100
for i:=1 to k do
if a[i]gt;10 then a[i]:=100;
Writeln('*** 2 ***');
for i:=1 to n do Write(a[i]:4);
Writeln;
3. Устраняем максимальный элемент, вставляем 0 перед наименьшим
запудренная задача !
Writeln('*** Начальный массив ***');
for i:=1 to n do begin
a[i]:=random(50)+1; интервал [1;49]
Write(a[i]:4)
end;
Writeln; Writeln('*** 3 ***');
imin:=1; imax:=1;
for i:=2 to n do
if a[i]gt;a[imax] then imax:=i
else
if a[i]lt;a[imin] then imin:=i;
if imin lt; imax then begin малый встречается раньше наибольшего
подвигаем вправо на 1 все элементы от imin и до imax
for i:=imax-1 downto imin do a[i+1]:=a[i];
a[imin]:=0 вставляем 0 в позицию imin
end
else begin малый встречается позднее наибольшего
подвигаем на лево на 1 элементы от imax до imin -1
for i:=imax to imin-1 do a[i]:=a[i+1];
a[imin-1]:=0; вставляем 0 в позицию перед imin
end;
for i:=1 to n do Write(a[i]:4);
Writeln
end.
Пример
*** Начальный массив ***
14 1 11 7 14 8 12 8 1 14
*** 1 ***
8 12 8 1 14 14 1 11 7 14
*** 2 ***
8 100 8 1 100 14 1 11 7 14
*** Исходный массив ***
24 36 25 4 42 42 16 39 45 44
*** 3 ***
24 36 25 0 4 42 42 16 39 44
Задание 2
const
n=10;
var
a:array[1..n] of integer;
i:integer;
begin
randomize; инициализация датчика пчевдослучайных чисел
Writeln('*** Исходный массив ***');
for i:=1 to n do begin
a[i]:=random(20); интервал [0;19]
Write(a[i]:4)
end;
Writeln;
1. выводим нечетные элементы
Writeln('*** 1 ***');
for i:=1 to n do
if a[i] mod 2 lt;gt;0 then Write(a[i]:4);
Writeln;
2. Элементы на четных позициях обнуляем
i:=2;
while ilt;=n do begin
a[i]:=0;
i:=i+2
end;
Writeln('*** 2 ***');
for i:=1 to n do Write(a[i]:4);
Writeln
end.
Пример
*** Исходный массив ***
12 0 14 8 13 17 3 1 12 17
*** 1 ***
13 17 3 1 17
*** 2 ***
12 0 14 0 13 0 3 0 12 0
Замечание:
Третью подзадачу решить в таковой постановке невозможно.
В самом деле, нужно удалить заключительный нечетный элемент, а перед третьим элементом вставить ноль. Что делать, если этим последним нечетным окажется 3-ий?
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов