Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2009, 23:18   #11
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

а что нужно добавить, чтобы писАло какие элементы он удалил
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 29.05.2009, 23:27   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Ananim-Pbl6ak
а что нужно добавить, чтобы писАло какие элементы он удалил
Вот сюда вот:
Код:
If (trunc(mas[i]) mod A = 0) or (trunc(mas[i] mod B = 0) then
begin {}
Inc(DelQuant); {увеличить количество удаленных чи-сел}
Dec (Num); {уменьшить количество элементов в массиве}
впихните вывод элемента mas[i]
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 30.05.2009, 09:05   #13
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

Код:
 If (trunc(mas[i]) mod A = 0) or (trunc(mas[i] mod B = 0) then
begin {}
Inc(DelQuant); {увеличить количество удаленных чи-сел}
Dec (Num); {уменьшить количество элементов в массиве}
Write('Удаленые элименты массива ',massiv[i],' ');
я сделал вот так, теперь только он каждый раз пишет: Удаленые элименты массива 1 Удаленые элименты массива 2 и т д
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 30.05.2009, 12:58   #14
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
я сделал вот так, теперь только он каждый раз пишет: Удаленые элименты массива 1 Удаленые элименты массива 2 и т д
Он выводит текущий удаленный элемент.
Фразу "Удаленные элементы" вынесите куда-нибудь из цикла.
А в цикле выводится сам элемент.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.06.2009, 15:33   #15
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

спс помогло, не можешь помочь со вставкой в массив
Утроить все числа, стоящие между максимальным и минимальным элементами последовательности неповторяющихся целых. Утроить это напмсать три раза.
вот пример:
Код:
Program InsertZero;
{Вставка 0 после каждого отрицательного числа}
Type
TVector=Array[1..40] of Integer;
Var
Vector:TVector;
Num,NumBeg,I,J:Byte;
Begin
Writeln('Введите не более 20 целых чисел');
Writeln('Конец ввода по ENTER');
Num:=0; {текущее количество элементов в массиве}
While not EOLN do
begin
Inc(Num);
Read(Vector[Num]);
end;
Readln;
NumBeg:=Num; {запомнить исходное число элементов}

I:=0; {I - индекс проверяемого элемента массива}
Repeat
Inc(I);
If Vector[i]<0 {если I-ый элемент - отрицательное число,}
then {то выполнить действия по вставке 0}
begin
For J:=Num downto I+1 do {сдвинуть элементы с }
Vector[J+1]:=Vector[J];{последнего до I-го вправо}
Vector[I+1]:=0; {вставить на I+1-ое место 0}
Inc(Num); {увеличить количество элементов массива}
end;
Until I=Num; {закончить, если проверены все элементы}
{печать результата}
If NumBeg<>Num
then
begin
Writeln('Массив после вставки',Num-NumBeg,'нулей');
For I:=1 to Num do
Write(Vector[i],' '); 
Writeln;
end
else
Writeln('Отрицательных чисел нет. Массив не изменен');
Readln
End.

Последний раз редактировалось Ananim-Pbl6ak; 03.06.2009 в 17:50.
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 03.06.2009, 15:47   #16
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ananim-Pbl6ak, один вопрос - одна тема.
И исправьте теги (code).

Что это за пример и что не получается или работает не так?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.06.2009, 17:50   #17
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

программа из примера вставляет 0 после каждого отрицательного числа в массиве
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 03.06.2009, 17:53   #18
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Ananim-Pbl6ak
программа из примера вставляет 0 после каждого отрицательного числа в массиве
Хорошо. И зачем он нужен? Вместо того, чтоб переделывать готовое, напишите свое.
Ну, или, если так уж хотите именно переделать, то какие вопросы?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.06.2009, 18:07   #19
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

Код:
min:=1; max:=1;
for i:=2 to 10 do
 begin
  if a[i]>a[max] then max:=i
   else if a[i]<a[min] then min:=i;
 end;
writeln;
writeln('минимальный элимент массива - ',a[min],' ','максимальный элимент массива - ',a[max]);
это поиск минимума и максимума куда ставить, и что надо вставить чтобы утроить
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 03.06.2009, 18:22   #20
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
что надо вставить чтобы утроить
Увеличиваете размер массива на 2 элемента. Идя от конца к элементу, который нужно утроить, сдвигаете все элементы вправо. Потом вписываете за утраиваемым элементом, собственно, этот же элемент два раза.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элементов из списка 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