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

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

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

 
 Ответить  Открыть новую тему 
> массив, сложный даже мысли нет как хделать
сообщение
Сообщение #1


Пионер
**

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

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


Дан одномерный массив А,размерностью1*n (2<=n<=20) элементы массива принимают от 0 до 20000 устанавливаются польхователем. Все положиттельные числа массива А записываются последовательно в массив В, а отрицательные в массив С. определить первое и последнее вхождение положительных и отрицательных чисел в массив А
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

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

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


Что уже готово ? Что конкретно не получается ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


Цитата(klem4 @ 24.01.2006 20:05) *

Что уже готово ? Что конкретно не получается ?

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


Гость






Цитата(Ostin @ 24.01.2006 19:02)
Дан одномерный массив А,размерностью 1*n (2<=n<=20) элементы массива принимают от 0 до 20000 устанавливаются польхователем. Все положиттельные числа массива А записываются последовательно в массив В, а отрицательные в массив С. определить первое и последнее вхождение положительных и отрицательных чисел в массив А

Внимание - вопрос: ОТКУДА среди чисел 0 .. 20000 взялись отрицательные?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

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

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


nb := 0;
nc := 0;

for i := 1 to n do begin
readln(a[i]);
if a[i] > 0 then begin
inc(nb);
b[nb] := a[i];
else
if a[i] < 0 then begin
inc(nc);
c[nc] := a[i];
end;
end;


Volvo Угу, а я и внимания не обратил ...

это первая часть задания.

Сообщение отредактировано: volvo -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

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

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


Цитата(volvo @ 24.01.2006 20:19) *

Внимание - вопрос: ОТКУДА среди чисел 0 .. 20000 взялись отрицательные?

ух...... ты и правда. интересно....... мож от -20000 или имелось ввиду честные не четные числа!?

честно говоря проверил вродебы так и написано скорей всего имелось ввиду от -20000 до 20000
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






klem4, твоя же программа, чуть-чуть подправленная будет выполнять сразу обе части задания:
neg_first := 0; neg_last := 0;
pos_first := 0; pos_last := 0;

nb := 0;
nc := 0;

for i := 1 to n do begin
readln(a[i]);
if a[i] > 0 then begin
inc(nb);
b[nb] := a[i];
if pos_first = 0 then begin pos_first := i; pos_last := i end
else pos_last := i;
else
if a[i] < 0 then begin
inc(nc);
c[nc] := a[i];
if neg_first = 0 then begin neg_first := i; neg_last := i end
else neg_last := i;
end;
end;

Вот и все, одним проходом ...

(Это, естественно, если диапазон от -20000 до +20000. Для четных/нечетных попробуй исправить сам...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

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

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


спасибо что помогли!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

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

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


вторая часть!

var
pf:byte; полож. 1 вхождение
pl:byte; --\\-- последнее вхожд.
mf:byte; отрицательное 1
ml:byte; отрицательное послед.

begin
for pf:=1 to n do
if A[pf]>0 then break;
for pl:h downto 1 do
if A[pl]<0 then break;
for mf:=1 to n do
if A[mf]>0 then break;
for ml:=n downto 1 do
if A[ml]< then break;


Во первых пользуйся тегами, а во вторых внимательно прочитай предыдущий пост ...

а еще обнулить надо!

а теперь помогите мне собрать всё в одно единое! что бы работало! но надо используя не вот то что волво предлодил первая часть!

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


Пионер
**

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

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


что не так?

 program stas3;
uses crt;
var
pf,pl,mf,ml:byte;
n:byte;
a:array [1..n] of integer;

i,nb,nc:integer;

begin
writeln ('vvidite n') ;
readln (n);
nb:=0;
nc:=0;
for i:= 1 to n do begin
readln (a[i]);
if a[i]>0 then begin
inc(nb);
b[nb]:=a[i];
else
if a[i]<0 then begin
inc(nc);
c[nc]:=a[i];
end;
end;
begin
pf:=0;
pl:=0;
mf:=0;
ml:=0;
for pf:=1 to n do
if a[pf]>0 then break;
for pl:=n downto 1 do
if a[pl]<0 then break;
for mf:=1 to n do
if a[mf]>0 then break;
for ml:=n downto 1 do
if a[ml]<0 then break;

end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Пионер
**

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

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


помогите мне зделать эту долбаную задачу , до завтра! без неё я на 3 могу не надеятся а с ней за 3 буду бится!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Perl. Just code it!
******

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

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


                                 program stas3;
uses crt;
var
pf,pl,mf,ml:byte;
n:byte;
a,b,c:array [1..100] of integer;

i,nb,nc:integer;

begin
writeln ('vvidite n') ;
readln (n);
nb:=0;
nc:=0;
for i:= 1 to n do begin
readln (a[i]);
if a[i]>0 then begin
inc(nb);
b[nb]:=a[i]
end
else
if a[i]<0 then begin
inc(nc);
c[nc]:=a[i];
end;
end;

pf:=0;
pl:=0;
mf:=0;
ml:=0;
for pf:=1 to n do
if a[pf]>0 then break;
for pl:=n downto 1 do
if a[pl]<0 then break;
for mf:=1 to n do
if a[mf]>0 then break;
for ml:=n downto 1 do
if a[ml]<0 then break;

end.


Убрал по крайней мере все синтаксические ошибки ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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