|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.01.2014, 14:11 | #1 |
Новичок
Джуниор
Регистрация: 25.01.2014
Сообщений: 5
|
Задача: удалить из массива все простые числа
Помогите определить, где ошибка.
Заранее спасибо. |
25.01.2014, 14:21 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Ошибка в том, что нужно на форум выкладывать полностью текст программы и в виде текста, а не картинкой!
|
25.01.2014, 14:39 | #3 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Не ясно, что значит удалить элемент из массива, какого типа массив? Если статический, то операции удаления не предусмотрено.
E-Mail: arigato.freelance@gmail.com
|
25.01.2014, 14:48 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
судя по строчке:
Цитата:
Потом достаточно уменьшить переменную, в которой задано, сколько в массиве реально элементов (скорее всего, статический элемент имеет заведомо БОЛЬШИЙ размер), чтобы "проэмулировать" уменьшение количества элементов в массиве. впрочем, я думаю, что это Вы и без меня прекрасно знаете. Вопрос в том, понимает ли это автор темы! |
|
25.01.2014, 15:13 | #5 |
Новичок
Джуниор
Регистрация: 25.01.2014
Сообщений: 5
|
В турбо паскале все массивы статичны и задаются в начале программы. Естественно, что имеется в виду не физическое удаление ячейки массива, а переписывание элементов(и в дальнейшем, обращение к меньшему количеству элементов, игнорируя "ненужные больше ячейки").
|
25.01.2014, 15:30 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Все делается проще:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
25.01.2014, 16:11 | #7 |
Новичок
Джуниор
Регистрация: 25.01.2014
Сообщений: 5
|
Знаю, что функцию описать было бы и правильнее и быстрее, но...
Попытайтесь понять: хочу реализовать именно вот так. Гипотетика следующая: мы школьники, которые только начали изучать язык и ни о каких процедурах и функциях пока понятия не имеем. Мы знаем только массивы и банальные операторы управления. |
25.01.2014, 16:18 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Хорошо, можете и без функции. Вообще, основным изменением кода является даже не это, а то, что мы на каждом шаге не перемещаем все нерассмотренные элементы массива, что значительно ускорит программу на больших массивах.
Попробуйте заменить if x[j] >= 2 then pr := true; на pr := (x[j] >= 2);.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 25.01.2014 в 16:23. |
25.01.2014, 17:16 | #9 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
В Турбо Паскале есть динамические массивы, а можно реализовать вектор на базе динамической памяти, тогда возможно будет и физическое удаление элементов
E-Mail: arigato.freelance@gmail.com
|
25.01.2014, 17:56 | #10 |
Новичок
Джуниор
Регистрация: 25.01.2014
Сообщений: 5
|
Я, конечно, полный профан в этом деле, но мне то казалось, что в Турбо Паскале их нет. Они есть в Delphi.
Хорошо, если они там есть, укажите собственноличный пример их использования. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны натуральные числа a и b (a<b). Получить все простые числа из промежутка от a до b. ( с# ) | NastyaShuvalova | Помощь студентам | 0 | 16.12.2013 18:08 |
Даны целые числа р и q. Получить все делители числа q, взаимно простые c г. | Владан | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.12.2012 23:39 |
печатающую все простые числа | Сергей505 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 12.11.2011 18:22 |
Удалить из массива все чётные числа! | malishka ya@ | Помощь студентам | 4 | 28.05.2010 01:55 |
Удалить из массива(одномерного) все повторяющиеся числа(Delphi) | Махор | Помощь студентам | 4 | 29.11.2007 23:25 |