![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.09.2008
Сообщений: 70
|
![]()
В общем дан массив, состоящий из n членов. Надо удалить из этого массива те члены, порядковые номера которых кратны 4. Я пытался сделать вот так:
begin for i:=1 to n do begin if (i mod 4)<>0 then begin dop[j]:=a[i]; j:=j+1; end else begin dop[j]:=a[i+1]; j:=j+1; end. Здесь dop это допольнительный массив, куда я скидываю члены. Но когда я выполняю этот код-у меня получаеться так, например: был массив 6 2 8 1 9 3 стал массив 6 2 8 9 9 3 а должен стать 6 2 8 9 3 |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
else лишний.
Вот что у меня получилось: Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.09.2008
Сообщений: 70
|
![]()
Поясните пожалуйста строчки. Что значит clrscr; и
a[i]:=random(50); ?? |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
clrscr - очищает окно вывода
Randomize - генерирует таблицу случайных чисел Random(x) - возвращает случайное целое в диапазоне от 0 до x-1 |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 21.09.2008
Сообщений: 70
|
![]()
Спасибо. Поясните еще пожалуйста, как программа убирает члены, порядковые номера которых кратны 4?
for i:=1 to n do if (i mod 4)<>0 then begin dop[j]:=a[i]; j:=j+1; Вот эту часть кода я понял, здесь, как и у меня...а если условие выполняеться то что делает программа? Еще в моей программе я сам задаю количество членов массива и сам прописываю значения каждого. Последний раз редактировалось Horknee; 26.10.2008 в 16:13. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 21.09.2008
Сообщений: 70
|
![]()
Вот, чтобы может проще было все задание и вся моя программа.
Задание: Даны натуральное n, целые числа a1, …, an. Оставить без изменения данную последовательность, если она упорядочена по неубыванию или не возрастанию; в противном случае удалить из последовательности те члены, порядковые номера которых кратны четырем, сохранив прежним порядок оставленных членов. Код программы: program 1; const m=65634; var a:array[1..m] of integer; dop:array[1..m] of integer; i,j:integer; n:integer; k,b:integer; f:integer; begin write('vvedite n='); readln(n); for i:=1 to n do begin write('a[',i,']= '); readln(a[i]); end; j:=1; k:=0; b:=0; f:=0; for i:=1 to n-1 do begin if a[i]<=a[i+1] then k:=1 else k:=0; if a[i]>=a[i+1] then b:=1 else b:=0; end; if (b=1) and (k=1) then begin for i:=1 to n do writeln(a[i]); end else begin for i:=1 to n do if (i mod 4)<>0 then begin dop[i]:=a[i]; j:=j+1; end; end; for i:=1 to j-1 do write(dop[i],''); readln(); end. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 21.09.2008
Сообщений: 70
|
![]()
Все, разобрался, все работает. спасибо!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите реализовать плейлист | IGREK | Общие вопросы Delphi | 2 | 04.06.2008 09:08 |
Помогите реализовать | ReacXX | Общие вопросы Delphi | 3 | 26.05.2008 08:56 |
Помогите реализовать | VenMaster | Общие вопросы Delphi | 8 | 24.04.2008 23:45 |