Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/55: Рейтинг темы: голосов - 55, средняя оценка - 4.87
 Аватар для alexeu121
2 / 1 / 2
Регистрация: 24.12.2013
Сообщений: 62

"Сожмите" массив, выбросив из него каждый второй элемент

27.12.2013, 15:42. Показов 10100. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан целочисленный массив с количеством элементов n. “Сожмите” массив, выбросив из него каждый второй элемент. Дополнительный массив не использовать.
Вот что то такое получилось, но не совсем рабочее, помогите)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
i,n:integer;
a:array[1..20]of integer;
begin
writeln('Введите размер массива:');
read(n);
writeln('Введите элементы массива:');
for i:=1 to n do
read(a[i]);
for i:=1 to n do
if ((a[i])>(a[i-1])) and ((a[i])<(a[i+1])) then
begin
i:=i+1;
end
else
writeln(a[i]);
end.
Нужно именно выбросить элементы массива.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2013, 15:42
Ответы с готовыми решениями:

Дан целочисленный массив с количеством элементов n. "Сожмите" массив, выбросив из него каждый второй элемент
Дан целочисленный массив с количеством элементов n. &quot;Сожмите&quot; массив, выбросив из него каждый...

Сожмите массив, выбросив из него каждый второй элемент
Перестановка элементов массива. 1. Дан целочисленный массив с количеством элементов n. “Сожмите”...

«Сожмите» массив, выбросив из него каждый второй элемент
Дан целочисленный массив с количеством элементов n. «Сожмите» массив, выбросив из него каждый...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
27.12.2013, 16:29
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j,k:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
 end;
writeln;
writeln;
i:=2;
while i<=n do
 begin
  for j:=i to n-1 do
  a[j]:=a[j+1];
  n:=n-1;
  i:=i+1;
 end;
writeln('Удаление с четными индексами:');
for i:=1 to n do
write(a[i]:4);
readln
end.
1
 Аватар для Dj Programmer
14 / 14 / 14
Регистрация: 05.10.2013
Сообщений: 141
28.12.2013, 16:04
Puporev, а можно ли действительно удалить элементы массива ? у вашем примере , и на форуме полно примеров , по удалению элементов , но на самом деле они не удаляются , а просто не выводятся на экран. Так вот , можно ли удалить элементы статического массива ? С дин. данными я знаю можно сделать такое , просто освободить память , выделенную под массив , и просто заново сформировать массив , а со статическим как ?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
28.12.2013, 16:08
Цитата Сообщение от Dj Programmer Посмотреть сообщение
но на самом деле они не удаляются , а просто не выводятся на экран.
Почему не удаляются, если уменьшается размер массива?

Добавлено через 1 минуту
Pascal
1
2
3
for j:=i to n-1 do//сдвиг элементов влево на1
  a[j]:=a[j+1];
  n:=n-1;//уменьшение размера
Добавлено через 1 минуту
Не выводить это например так
Pascal
1
2
for i:=1 to n do
if a[i]<0 then write(a[i],' ');
0
 Аватар для Dj Programmer
14 / 14 / 14
Регистрация: 05.10.2013
Сообщений: 141
28.12.2013, 16:15
Puporev, у вас n - это просто переменная , память выделенная под массив остается же прежней , я вот что хочу узнать , можно ли освободить память выделенную под статистические данные , а потом опять выделить память ?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
28.12.2013, 16:20
Не понимаю что вы хотите. Работайте с динамической памятью.
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
30.12.2013, 10:40
Нет, в статическом массиве нельзя удалить элемент. Сама концепция языка это не позволяет, т.к. все переменные и константы должны быть описаны заранее.
Как и говорилось выше - для этого придется использовать динамические структуры.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.12.2013, 10:40
Помогаю со студенческими работами здесь

"Сожмите" массив, выбросив из него каждый второй элемент
Дан целочисленный массив с количеством элементов n. “Сожмите” массив, выбросив из него каждый...

Сожмите заданный массив, выбросив каждый второй элемент массива. Вывести на экран заданный и новый массив
Сожмите заданный массив, выбросив каждый второй элемент массива. Вывести на экран заданный и новый...

Сжать массив, выбросив из него каждый второй элемент
Дан целочисленный массив с количеством элементов n. Сжать массив,выбросив из него каждый второй...

Сжать массив, выбросив из него каждый второй элемент
сжать массив, выбросив из него каждый второй элемент

Сжать массив, выбросив из него каждый второй элемент
Дан целочисленный массив с количеством элементов n. Сжать массив, выбросив из него каждый второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru