
Дан целочисленный массив размера N (> 2). Удалить из массива все элементы с нечетными номерами
(1, 3, …). Попробовал написать, но не получилось. program project2; var n,i, nech:integer; A:array [1..10] of integer; begin n:=10; for i:=1 to n do begin writeln('Vvedite a[',i,']'); readln(a[i]); end; for i:=1 to n do if a[i] mod 2=0 then nech:=i; for i:=nech to n-1 do a[i]:=a[i+1]; writeln('massiv imeet vid'); for i:=1 to n do writeln (a[i]); end.

Ответы на вопрос

// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
a:=Range(1,a.Length-1,2).Select(i->a[i]).ToArray;
a.Println
end.
Пример
n= 15
-31 20 -30 -1 -47 1 19 -47 32 36 -32 7 -43 -40 -23
20 -1 1 -47 36 7 -40



Ваш код близок к правильному, но есть несколько ошибок. Давайте их исправим. Я также улучшу ваш код, чтобы он стал более читаемым и эффективным.
```pascal program project2; var n, i, nech: integer; A: array[1..10] of integer;
begin // Вводим размер массива writeln('Vvedite N (N > 2): '); readln(n);
// Проверка на минимальный размер массива if n <= 2 then begin writeln('N должно быть больше 2.'); exit; // Завершаем программу end;
// Вводим элементы массива for i := 1 to n do begin writeln('Vvedite A[', i, ']'); readln(A[i]); end;
// Удаляем элементы с нечетными номерами nech := 0; // Индекс последнего четного элемента for i := 1 to n do begin if A[i] mod 2 = 0 then begin nech := nech + 1; A[nech] := A[i]; end; end;
// Устанавливаем новый размер массива n := nech;
// Выводим массив writeln('Massiv imeet vid'); for i := 1 to n do writeln(A[i]); end. ```
Исправления и улучшения:
1. Добавлена проверка на минимальный размер массива (N > 2). 2. Использована переменная `nech` для отслеживания четных элементов и их копирования в начало массива. 3. Использована переменная `n` для обновления размера массива после удаления элементов с нечетными номерами. 4. Улучшена читаемость кода.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili