конкретно в каких стейтментах была ошибка , я не смог разобраться , но фактически у тебя
1.был не правильный вывод (m[1])
2.неправильная итерация по циклу с переменной 'с'
крч легче было просто переделать
var
c, n, i, j: integer;
m: array[1..1000] of integer;
begin
Readln(n);
for i := 1 to n do
begin
m[i] := i;
Write(m[i], ' ');
end;
writeln;
while n >= 1 do
begin
if c+2 < n then c := c + 3 else c := n - c + 3;
for i:=c to n do m[c]:=m[c+1];
n := n - 1;
end;
writeln(m[c]);
end.
Поделитесь своими знаниями, ответьте на вопрос:
Валя, Юра, Костя, Марина и Света пошли в магазин за фруктами. Валя купила 2 кг яблок, 3 кг бананов, 1 кг апельсинов и 4 кг груш. Юра купил 1 кг яблок, 2 кг бананов, 4 кг апельсинов и 2 кг груш. Костя купил 3 кг яблок, 5 кг бананов, 2 кг апельсинов, 1 кг груш. Марина купила 3 кг яблок, 2 кг бананов, 2 кг апельсинов и 1 кг груш. Света купила всех фруктов по 2 кг. 1 кг яблок стоит 3 монеты, 1 кг бананов — 5 монет, 1 кг апельсинов — 4 монеты и 1 кг груш — 4, 5 монеты. 1. Построить на основе вышеперечисленных данных электронную таблицу (продумайте, как разместить данные 2. Добавить к таблице столбец, в котором будет вычисляться общая сумма, которую заплатил каждый из ребят (Важно! формула для вычислений должна вводиться только в одну ячейку, а в остальные — копироваться). 3. Вычислить общую сумму покупок всех ребят. 4. Определить максимальную и минимальную стоимости покупок. 5. Вычислить среднее арифметическое суммы покупок ребят. 6. Отсортировать таблицу по убыванию суммы покупок (Выделять надо не только этот столбец и не всю таблицу. Выделите строки, содержащие имена детей). 7. Изменить стоимость бананов на 4 монеты и выделить другим цветом ячейки, в которых произошли изменения. 8. Построить круговую диаграмму соотношения суммы покупок ребят (Для этого, выделите столбец, содержащий суммы покупок ребят. Затем выберите Вставка – круговая, выберите вид диаграммы. Выделите диаграмму, нажмите правую кнопку мыши, выбрать данные, подписи горизонтальной оси, изменить, выбрать диапазон, выделите мышью имена детей, нажмите ОК. Получится примерно так:Валя, Юра, Костя, Марина и Света пошли в магазин за фруктами. Валя купила 2 кг яблок, 3 кг бананов, 1 кг апельсинов и 4 кг груш. Юра купил 1 кг яблок, 2 кг бананов, 4 кг апельсинов и 2 кг груш. Костя купил 3 кг яблок, 5 кг бананов, 2 кг апельсинов, 1 кг груш. Марина купила 3 кг яблок, 2 кг бананов, 2 кг апельсинов и 1 кг груш. Света купила всех фруктов по 2 кг. 1 кг яблок стоит 3 монеты, 1 кг бананов — 5 монет, 1 кг апельсинов — 4 монеты и 1 кг груш — 4, 5 монеты. 1. Построить на основе вышеперечисленных данных электронную таблицу (продумайте, как разместить данные). 2. Добавить к таблице столбец, в котором будет вычисляться общая сумма, которую заплатил каждый из ребят (Важно! формула для вычислений должна вводиться только в одну ячейку, а в остальные — копироваться). 3. Вычислить общую сумму покупок всех ребят. 4. Определить максимальную и минимальную стоимости покупок. 5. Вычислить среднее арифметическое суммы покупок ребят. 6. Отсортировать таблицу по убыванию суммы покупок (Выделять надо не только этот столбец и не всю таблицу. Выделите строки, содержащие имена детей). 7. Изменить стоимость бананов на 4 монеты и выделить другим цветом ячейки, в которых произошли изменения. 8. Построить круговую диаграмму соотношения суммы покупок ребят (Для этого, выделите столбец, содержащий суммы покупок ребят. Затем выберите Вставка – круговая, выберите вид диаграммы. Выделите диаграмму, нажмите правую кнопку мыши, выбрать данные, подписи горизонтальной оси, изменить, выбрать диапазон, выделите мышью имена детей, нажмите ОК.
N = 15;
var
mas:array[1..15] of integer;
i, max1, max2, min, c, d:integer;
begin
c:=-1;
max1:=-maxint;
min:=maxint;
max2:=-maxint;
randomize;
for i:=1 to N do
mas[i]:=random(101)-50;
write('Массив: ');
for i:=1 to N do
write(mas[i], ' ');
writeln;
for i:=1 to N do
begin
if (mas[i]>0) AND (mas[i]>max1) then
max1:=mas[i];
if (mas[i] mod 2 <> 0) AND (max2<mas[i]) then
begin
c:=i;
max2:=mas[i];
end;
if (mas[i] mod 2 <> 0) AND (min>mas[i]) then
begin
d:=i;
min:=mas[i];
end;
end;
writeln('Максимальный положительный элемент: ',max1);
writeln('Минимальный нечетный элемент: ',min);
writeln('Максимальный нечетный элемент: ',max2);
if c<d then
writeln('Максимальный элемент стоит раньше')
else
writeln('Минимальный элемент стоит раньше');
end.