![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Дима |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
требуется сформировать массив, содержаший положительные элементы, расположенные во второй половине (включая середину) исходного массива.(PASCAL)
Подскажите пожайлуста, как мне найти эти элементы (я не прошу решать всю задачу). Как я понимаю это надо делать через функцию mod заранее благодарен!!! |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
For i := n div 2 to n do ... Если N нечетное - могут потребоваться дополнительные телодвижения... |
Дима |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
а как сделать чтобы он выводил только числа расположенные во второй половине (включая середину)?
Вот мооя прог-а: PROGRAM N6_4; const nmax=10; var a,b:array[1..nmax] of real; na,nb:integer;{число элементов в массивах} ia,ib:integer;{номер очередного элементов массивов} begin repeat writeln('vvedite chislo elementov ne bolee ',nmax); readln(na); if (na<=0) or (na>nmax) then writeln('Error') until (na>0) and (na<=nmax); for ia:=1 to na do begin writeln('vvedite ',ia,'-y element'); readln(a[ia]); end; nb:=0; for ia:=1 to na do if (a[na] div 2)<>0 {and (ia>0)} then begin nb:=nb+1; b[nb]:=a[ia]; end; writeln('chilo viybrannyh elementov=',nb); if nb>0 then begin write('vibrannie elementi:'); for ib:=1 to nb do write(' ',b[ib]:6:1); readln(b[ib]); writeln; end; readln; end. Сообщение отредактировано: Дима - 23.12.2006 0:04 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну, я же показал тебе цикл... При таком цикле как раз и будет просматриваться только вторая половина массива...
|
Дима |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Во-первых, что ты ЭТИМ пытаешься добиться:
a[na] div 2? Какой это пункт задания? Ну, а во-вторых, для массива Array ... Of Real оператор DIV просто неприменим - это целочисленное деление... |
Дима |
![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
этим я хотел разбить массив на 2 части
|
мисс_граффити |
![]()
Сообщение
#8
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
a[na] div 2 Это работа не с массивом в целом, а с одним элементом. div - это целочисленное деление, он определен для целых чисели, но не массивов. как работать только со второй частью массива - volvo показал. тебе осталось в теле цикла проверять, положительный ли элемент, и если да, записывать в новый массив. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:24 |