IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Mod (остаток от деления), использование в массиве
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


требуется сформировать массив, содержаший положительные элементы, расположенные во второй половине (включая середину) исходного массива.(PASCAL)
Подскажите пожайлуста, как мне найти эти элементы (я не прошу решать всю задачу). Как я понимаю это надо делать через функцию mod
заранее благодарен!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






For i := n div 2 to n do ...


Если N нечетное - могут потребоваться дополнительные телодвижения...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


а как сделать чтобы он выводил только числа расположенные во второй половине (включая середину)?
Вот мооя прог-а:
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.

Сообщение отредактировано: Дима -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Ну, я же показал тебе цикл... При таком цикле как раз и будет просматриваться только вторая половина массива...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


Цитата(volvo @ 22.12.2006 23:57) *


У меня всё равно выдаёт ошибку! Блин, хз?!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Во-первых, что ты ЭТИМ пытаешься добиться:
a[na] div 2
? Какой это пункт задания?

Ну, а во-вторых, для массива Array ... Of Real оператор DIV просто неприменим - это целочисленное деление...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


этим я хотел разбить массив на 2 части
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


a[na] div 2 

Это работа не с массивом в целом, а с одним элементом.
div - это целочисленное деление, он определен для целых чисели, но не массивов.
как работать только со второй частью массива - volvo показал.
тебе осталось в теле цикла проверять, положительный ли элемент, и если да, записывать в новый массив.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.10.2024 9:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name