|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.05.2009, 10:26 | #1 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 77
|
массивы. удаление элементов
Из последовательности удалить все элементы, имеющие целую часть, кратную одному из двух наперед заданных чисел.
вот пример: Program Delete; {Удаление четных чисел из массива целых} Const Dim = 20; Type TMassiv = Array[1..Dim] of Integer; Var Massiv : TMassiv; J, I, Num, DelQuant : Byte; Begin Writeln ('Введите не более чем ',Dim,' целых чисел'); Writeln ('Конец ввода по ENTER'); Num := 0; {реальное число элементов в массиве} While not EOLN do Begin Inc (Num); Read (Massiv[Num]); End; Readln; I := 0; {позиция наблюдателя на I-м элементе массива} DelQuant := 0; {количество удаленных элементов} Repeat Inc (I); {сдвинуть наблюдателя вправо - перейти} {к проверке следующего числа} If Not Odd(Massiv[I]) then begin {I-ое число четное, удалить его из массива} Inc(DelQuant); {увеличить количество удаленных чи-сел} Dec (Num); {уменьшить количество элементов в массиве} For J := I to Num do Massiv[J] := Massiv[J+1]; {сдвиг влево} Dec (I) {переместить наблюдателя влево} end; Until I = Num; {повторять, пока не будут проверены все числа} If DelQuant = 0 then {удалений не было} Writeln('Массив не содержит четных элементов') else {удаления были} If Num <> 0 then begin Writeln ('Удалено ', DelQuant,' четных чисел'); Writeln ('Преобразованный массив'); For I := 1 to Num do Write (Massiv[I],' '); Writeln end else {все числа удалены} Writeln ('Массив пустой') End. |
25.05.2009, 12:35 | #2 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Для взятия целой части - trunc, для взятия остатка - mod. А для кода - тег CODE.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
25.05.2009, 13:10 | #3 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 77
|
а поподробней как это будет выглядеть
|
25.05.2009, 13:13 | #4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Наперед заданные числа - A и B.
Есть массив - mas. В цикле перебираем элементы: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
25.05.2009, 13:36 | #5 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 77
|
Program Delete;
{Удаление четных чисел из массива целых} Const Dim = 20; Type TMassiv = Array[1..Dim] of Integer; Var Massiv : TMassiv; A, B, J, I, Num, DelQuant : Byte; Begin Writeln ('Введите не более чем ',Dim,' целых чисел'); Writeln ('Конец ввода по ENTER'); Num := 0; {реальное число элементов в массиве} While not EOLN do Begin Inc (Num); Read (Massiv[Num]); End; Readln; I := 0; {позиция наблюдателя на I-м элементе массива} DelQuant := 0; {количество удаленных элементов} Repeat Inc (I); {сдвинуть наблюдателя вправо - перейти} {к проверке следующего числа} If (trunc(mas[i]) mod A = 0) or (trunc(mas[i] mod B = 0) then begin {} Inc(DelQuant); {увеличить количество удаленных чи-сел} Dec (Num); {уменьшить количество элементов в массиве} For J := I to Num do Massiv[J] := Massiv[J+1]; {сдвиг влево} Dec (I) {переместить наблюдателя влево} end; Until I = Num; {повторять, пока не будут проверены все числа} If DelQuant = 0 then {удалений не было} Writeln('Массив не содержит элементов имеющих целую часть, кратную одному из двух чисел') else {удаления были} If Num <> 0 then begin Writeln ('Удалено ', DelQuant,' чисел имеющих целую часть, кратную одному из двух заданых чисел'); Writeln ('Преобразованный массив'); For I := 1 to Num do Write (Massiv[i],' '); Writeln end else {все числа удалены} Writeln ('Массив пустой') End. вот так? |
25.05.2009, 13:41 | #6 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Копи-паст - далеко не всегда хорошо. Повторю еще раз: код заключайте в теги CODE!
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
25.05.2009, 13:50 | #7 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 77
|
так кто что еще подскажет
Последний раз редактировалось Ananim-Pbl6ak; 25.05.2009 в 13:58. |
25.05.2009, 13:58 | #8 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Логически подумайте. Или, в конце концов, почитайте текст ошибок, которые вам выдает компилятор.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
26.05.2009, 09:54 | #9 |
Пользователь
Регистрация: 28.10.2008
Сообщений: 77
|
Код:
|
26.05.2009, 11:52 | #10 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Вы меня не слышите. Я сказал: не нужно копипастить не глядя. Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление элементов из списка | Wi1D | Помощь студентам | 0 | 18.05.2009 00:23 |
Динамический список. Поиск и удаление элементов. | Paulo | Помощь студентам | 2 | 01.05.2009 12:37 |
удаление одинаковых элементов из массива | sauron99 | Общие вопросы Delphi | 6 | 15.04.2009 21:27 |
Удаление элементов из динамического массива | dashulka | Общие вопросы Delphi | 4 | 31.10.2008 14:03 |
Паскаль. Массивы. Замена элементов | Stelix | Помощь студентам | 2 | 06.11.2007 17:20 |