Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ одномерный массив

Автор: Rikki_Irena 17.05.2012 22:16

помогите пожалуйста программу поправить, надо что-то дописать или переделать, чтобы программа обходила значение 0


var y:array[1..5] of real;
x:integer;

begin;
x:=-3;
for x:=-3 to 3 do

begin


y[x]:=(cos(x)/sin(x))-x;
writeln('y[',x,']= ',y[x]:5:3);
end;

readln;
end.



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: IUnknown 17.05.2012 22:51

Поскольку у тебя X - целое, то можешь просто сравнить его с 0:

if x <> 0 then
begin
y[x] := (cos(x)/sin(x))-x;
{ Вывод полученного y[x] на экран }
end
else writeln('y[0] = n/a');

Только учти 2 вещи:
1) функции sin и cos считают что аргументы заданы в радианах, а не в градусах
2) у тебя массив неправильно описан, чтобы работать с такими иксами, с которыми тебе надо работать. Опиши его вот так:
var y:array[-3..3] of real;
, тогда ошибок не будет.

Автор: Rikki_Irena 17.05.2012 22:54

а куда это можно поставить в код?)

Добавлено через 4 мин.
аа все поняла))