![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.12.2016
Сообщений: 26
|
![]()
Как проверять и выкидывать элементы из массивов?
Дана последовательность P[i] i=1,2...n (n<=30). Получить новую последовательность X[i], выбросив из исходной все числа, большие заданного числа R. ( Не использую функции и процедуры) Последний раз редактировалось Вадим Мошев; 16.12.2016 в 23:36. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
чтобы "выкинуть" элемент из массива, нужно на место "выкидываемого" переписать все те элементы, что расположены после него, после чего уменьшить размер массива на 1.
(NB. для динамических массивов можно сделать SetLength(), для статических вообще ничего не надо делать, нужно только длину массива хранить в отдельной переменной и её уменьшать при необходимости.) |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.12.2016
Сообщений: 26
|
![]()
Все равно не понимаю как изобразить это в коде
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
Сделай последовательно следующие этапы:
1) Дан массив, вывести его на экран. Когда справишься модифицируй программу чтобы 2) выводила на экран только меньше числа R, а больше просто игнорировало. Когда и с этим справишься, переходи к: 3) перенаправить из вывода на экран в новый массив Х. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 11.12.2016
Сообщений: 26
|
![]()
С 1 справился, а дальше не могу понять как каждый элемент проверять
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
покажи
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.12.2016
Сообщений: 26
|
![]()
Вот все что есть
Код HTML:
Program main; var P, X:array[1..30] of integer; i, n: integer; begin readln (n); for i:=1 to n do P[i]:=random (100); for i:=1 to n do write (P[i], ' '); readln; end. |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
А ну проанализируй:
Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.12.2016
Сообщений: 26
|
![]()
Вроде понял, а как тогда оставшееся место заполнить ?
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
Процентов на 80% задача уже решена... Чтобы доделать, тебе надо просто перенаправить от "вывода на экран" в заполняемость массива "Х".
Единственно, для массива "Х" нельзя использовать тот же самый индекс "i", что и для P (ни в коем случае, нельзя) - для него надо организовать новый индекс (это будет счётчик "количества элементов меньше R"), который будет увеличиваться на 1-цу всякий раз, когда будет находится "<R"... p.s.: ну всё я отчаливаю, - а то, если подробней написать - это значит просто сделать за тебя... Возьми, подумай/поэкспериментируй/помучийся и реши... Все через такое проходили (в своё время)... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование циклов (free Pascal) | Jon_Morgan | Помощь студентам | 5 | 12.12.2016 13:59 |
обработка одномерных массивов (вставка, удаление и перестановка элементов) Pascal ABC | Кеворк | Помощь студентам | 0 | 27.12.2011 18:16 |
Pascal - обработка одномерных массивов | Russtein | Помощь студентам | 0 | 10.11.2011 18:29 |
Программирование операций обработки одномерных массивов | Дима82 | Помощь студентам | 12 | 11.05.2008 15:24 |