есть массив X, составленный из n-элементов, нужно сформировать массив Y из положительных элементов исходного массива и массив Z из НЕотрицательных элементов исходного массива.
+++
не понимаю, где ошибка(
+++
не понимаю, где ошибка(
; readln(n);
-
-
21.12.2007 в 11:27У тебя z - получается не массив из НЕотрицательных, а массив из НЕположительных чисел.
Условие для попадания в z должно быть: x[i]>=0
-
-
21.12.2007 в 11:32-
-
21.12.2007 в 11:38нет
окошечко запускается
но после того как я ввожу числа 2 3 3
сразу же выдается ответ примерно такой: 3.0000000000000000Е+000000000 и
еще раз 3.000000000000000000Е+0000000
-
-
21.12.2007 в 11:57У тебя там еще куча ошибок!
Зачем ты n вводишь с клавиатуры?
У тебя n должно быть равно a!
readln(n); надо убрать, а вместо него вставить n:=a;
В двух циклах вывода массивов y и z - наоборот лишний begin!
И обязательно переделай проверку для z
Я сделала, у меня всё работает.
Попробуй исправить всё, что я сказала.
-
-
21.12.2007 в 12:12{$APPTYPE CONSOLE}
uses
SysUtils;
const
a=10;
var
x,y,z:array[1..a] of integer;
i,k,b,n:integer;
begin
write ('Vvedite elementy massiva: ');
n:=a;
for i:=1 to n do readln (x[i]);
k:=0;
b:=0;
for i:=1 to n do
if x[i]>=0 then begin
k:=k+1;
y[k]:=x[i];
end
else
b:=b+1;
z[b]:=x[i];
for i:=1 to k do writeln (y[i]);
for i:=1 to b do writeln (z[i]);
readln;
end.
ну вот
я ввожу все вообще отрицательные элементы а выводятся одни нули
-
-
21.12.2007 в 12:24for i:=1 to n do
if x[i]>=0 then begin
k:=k+1;
y[k]:=x[i];
end
else
b:=b+1;
z[b]:=x[i];
неправильно.
Для у должно стоять условие: x[i]>0
А потом должен идти второй if для z:
for i:=1 to n do
begin
if x[i]>0 then begin
k:=k+1;
y[k]:=x[i];
end;
if x[i]>=0 then begin
b:=b+1;
z[b]:=x[i];
end;
end;
Только тогда у будет состять из строго положительных элементов, а z из положительных и нулей (то есть НЕотрицательных)
-
-
21.12.2007 в 12:27for i:=1 to b do writeln (z[i]);
Поставь между ними readln, чтобы видеть, когда один массив кончится и начнется другой.
-
-
21.12.2007 в 12:32-
-
21.12.2007 в 12:45Первый и второй массив должны отличаться ТОЛЬКО нулевыми элементами: в первом их нет, а во втором - есть!
-
-
21.12.2007 в 12:47-1 2 -3 4 -5 6 -7 8 -9 10
в первом массиве должны быть жлементы -1 -3 -5 -7 -9
а во втором 2 4 6 8 10
-
-
21.12.2007 в 12:48все ясно у тебя стоит другое условие.
-
-
21.12.2007 в 12:52!!!!!!!!!!!!
Я же тебе уже СТО раз говорила: НЕ-ОТРИЦАТЕЛЬНЫЕ — это значит положительные + нули!!!
Мое условие ПРАВИЛЬНОЕ, а твои ожидания — нет)))
Введи несколько нулей, а также положительных и отрицательных чисел и посмотри!
-
-
21.12.2007 в 12:55а во втором неотрицательные (>=0)
это же у тебя в условии написано.
-
-
21.12.2007 в 12:55мне надо было один массив из положительных и нулей
а другой из отрицательных
-
-
21.12.2007 в 12:55-
-
21.12.2007 в 12:57тогда знаки поменяй )))
-
-
21.12.2007 в 12:57да ладно забей спасибо огромное)
-
-
21.12.2007 в 12:58