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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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