2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Помогите пожалуйста с программой в Паскале...
Сообщение24.12.2009, 23:31 
Аватара пользователя


14/12/09
10
Дано массив А. С положительных елементов массива построить массив Х, а отрицательных - массив У. Ну и вот моя программа:

Program Massiv_1;
uses crt;
var A,X,Y : array [1..100] of real; i,j,h,n : integer;
begin
clrscr;
Writeln('Vvedite kolichestvo elementov massiva');
Readln(n);
j:=0;
h:=0;
For i:=1 to n do
begin
Write('A[',i,']=');
Readln(A[i]);
if a[i]>0 then
begin
j:=j+i;
a[i]:=x[j];
end;
If a[i]<0 then
begin
h:=h+i;
a[i]:=y[h];
end;
end;
writeln;
writeln('Massiv X:');
For j:=1 to n do
writeln('X[',j,']=',x[j] : 8:1);
readln;
writeln('Massiv Y:');
For h:=1 to n do
Writeln('Y[',h,']=',y[h] :8:1);
readln;
end.


Но в ответе программы, все елементы массива Х и массива У ровняются нулю...и я не понимаю почему...помогите пожалуйста найти ошибку...

 Профиль  
                  
 
 Re: Помогите пожалуйста с программой в Паскале...
Сообщение24.12.2009, 23:43 


06/04/09
156
Воронеж
Оформите код. Используйте [code].
Первый вопрос: а если введенное кол-во элементов $n$ будет больше 100?
Второй: зачем вы введенный элемент переписываете 0 из $x$:
Igor в сообщении #274965 писал(а):
Readln(A[i]);

Igor в сообщении #274965 писал(а):
a[i]:=x[j];

Igor в сообщении #274965 писал(а):
a[i]:=y[h];

?
Igor в сообщении #274965 писал(а):
все елементы массива Х и массива У ровняются нулю...

Естественно... вы же их не меняете.

 Профиль  
                  
 
 Re: Помогите пожалуйста с программой в Паскале...
Сообщение25.12.2009, 00:01 
Аватара пользователя


14/12/09
10
Ну я пробовал ввести 101 елемент, то программа по ходу приняла 101 елемент...во всяком случае в array можна поменять на больше...Вы не могли бы объяснить каким образом я могу оформить код?Я просто еще новичок, но стараюсь улавливать смысл...А a[i]:=x[j]; a[i]:=y[h]; - это я присваиваю элементы массива A массивам Х и У, при определенном условии...или таким образом это нельзя делать?

 Профиль  
                  
 
 Re: Помогите пожалуйста с программой в Паскале...
Сообщение25.12.2009, 00:45 
Заслуженный участник


09/08/09
3438
С.Петербург
Igor в сообщении #274980 писал(а):
А a[i]:=x[j]; a[i]:=y[h]; - это я присваиваю элементы массива A массивам Х и У, при определенном условии...или таким образом это нельзя делать?
В операторе приваивания переменная, которой присваивается новое значение, указывается СЛЕВА от знака операции, а выражение, чьё значение ей присваивается -- справа, как у Вас вот здесь:
Код:
j:=j+i;

Для того, чтобы отформатировать код, выделите его и нажмите на кнопочку быстрого применения стилей, на которой написано 'Code' (вокруг кода вставятся теги code и /code). Затем вручную отформатируйте отступы.

 Профиль  
                  
 
 Re: Помогите пожалуйста с программой в Паскале...
Сообщение03.01.2010, 16:44 
Аватара пользователя


03/01/10
6
Igor в сообщении #274980 писал(а):
Ну я пробовал ввести 101 елемент, то программа по ходу приняла 101 елемент...во всяком случае в array можна поменять на больше...

Посмотрите в сторону динамических массивов.
[oftop_mode] Слово "элемент" с буквы "е" после гламурного осьмнадцатого столетья не пишут [/oftop_mode]

 Профиль  
                  
 
 Re: Помогите пожалуйста с программой в Паскале...
Сообщение04.01.2010, 03:32 


13/09/09
72
Цитата:
Посмотрите в сторону динамических массивов.
Пусть сначало с обычными напишет, а потом уже доработает.

Я кстати рекомендую для задания размерности массива использовать константы. Поверьте мне это гораздо удобнее, и в будущем Вам поможет.
Константы надо сразу иницилизировать значением, т.е до переменных пишите:
Код:
const N=10;
и далее можете использовать N, в размерности массива и в циклах.
Цитата:

if a[i]>0 then
begin
j:=j+i;
a[i]:=X[j];
end;

А зачем к j, прибавляете i? Достаточно прибавлять единицу.

 Профиль  
                  
 
 Re: Помогите пожалуйста с программой в Паскале...
Сообщение05.01.2010, 20:25 
Аватара пользователя


14/12/09
10
Большое спасибо всем, все получилось!!!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Dmitriy40


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group