Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.07.2011, 20:05   #1
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию Почему не работает программа, что не так?

Здравствуйте, у меня проблема с программой, по сути она должна считывать данный из файла в массив, переводить данные массива в радианы, после этого эти данный должны использоваться в формуле, и в конце выводится на экран, сам язык я не изучал, задание задали на практике, поэтому всех тонкостей знать не могу, компилятор у меня Borland 7. Вот код программы:
Код:
Program test;                                                                
Var                                                                          
F:text;                                                                      
Y:Array [1..100] of integer;                                                 
A:Array [1..100] Of integer;                                                 
X:Array [1..100] of integer;                                                
i,k:integer;                                                                 
Begin                                                                        
assign(f,'INPUT.txt');                                                       
reset(f);                                                                    
Begin                                                                        
while not eof(f) do                                                          
inc(k);                                                                      
read(f,A[k]);                                                                
end;                                                                         
close(f);                                                                    
for i:=1 to k do                                                             
X[i]:=(Y[i]*Pi)/180;                                                        
Begin                                                                        
for i:=1 to k do 
Y[i]:=(sin(X[i])+i)/cos(X[i]);
Write(Y[i]);
end;
Read;
end.
Подскажите пожалуйста.
Злостный анимешнег =^.^=
Демик вне форума
Старый 17.07.2011, 20:12   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Вот вам код...
Код:
{$N+}
Var
     F : Text;
     A : Array[1..100] of Double;
     I , N : Integer;
Begin
        Assign(F,'input.txt');
        Reset(F);
        N:=0;
        While Not Eof(F) Do
        Begin
                Inc(N);
                Read(F,A[N]);
                A[N]:=A[N]*Pi/180;
                Write(A[N]:0:2,' ');
        End;
        Close(F);
        Readln;
End.
Этот код переводит в радианы и выводит. Далее модифицируйте сами.
_-Re@l-_ вне форума
Старый 17.07.2011, 20:23   #3
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Код:
{$N+}
Var
     F : Text;
     A : Array[1..100] of Double;
     I , N : Integer;
Begin
        Assign(F,'input.txt');
        Reset(F);
        N:=0;
        While Not Eof(F) Do
        Begin
                Inc(N);
                Read(F,A[N]);
                A[N]:=A[N]*Pi/180;
                Write(A[N]:0:2,' ');// А можно про эту строку поподробнее?
        End;
        Close(F);
        Readln;
End.
А это что значит?
Злостный анимешнег =^.^=
Демик вне форума
Старый 17.07.2011, 20:29   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Вывод начиная с начала строки , причём на дробную часть числа отводится 2 знакоместа.
_-Re@l-_ вне форума
Старый 17.07.2011, 20:37   #5
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Код:
Program test;
 Var
 F : Text;
 A : Array[1..100] of Double;
 X : Array[1..100] of Double;
 I , N : Integer;
 Begin
 Assign(F,'input.txt');
 Reset(F);
 N:=0;
 While Not Eof(F) Do
 Begin
 Inc(N);
 Read(F,A[N]);
 A[N]:=A[N]*Pi/180;
 Write(A[N]:0:2,' ');
 End;
 Begin
 For I:=1 To N Do
 X[N]:=(sin(A[N])+N)/cos(A[N]);    
 Write(A[N]:0:2,' ');
 End;
 Close(F);
 Readln;
 End.
Так верно? Только почему-то результатом выводится только один элемент.
Злостный анимешнег =^.^=
Демик вне форума
Старый 17.07.2011, 20:44   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Код:
Begin
 For I:=1 To N Do
 X[N]:=(sin(A[N])+N)/cos(A[N]);    
 Write(A[N]:0:2,' ');
 End;
Это чё за порнография?
Вот так надо
Код:
 For I:=1 To N Do
 Begin
 X[N]:=(sin(A[N])+N)/cos(A[N]);    
 Write(A[N]:0:2,' ');
 End;
_-Re@l-_ вне форума
Старый 17.07.2011, 20:56   #7
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Де, теперь всё нормально выводит, но почему-то один и тот же результат 0.96 , но похоже так работает моя формула))
Злостный анимешнег =^.^=
Демик вне форума
Старый 17.07.2011, 21:06   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
For I:=1 To N Do
 Begin
 X[i]:=(sin(A[i])+i)/cos(A[i]);    
 Write(x[i]:0:2,' ');
 End;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума
Старый 17.07.2011, 21:07   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Mad_Cat, я даже как-то и не думал смотреть на само тело цикла.
_-Re@l-_ вне форума
Старый 17.07.2011, 21:12   #10
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Всем огромное спасибо!)
Злостный анимешнег =^.^=
Демик вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
Почему так медленно работает цикл? zotox Общие вопросы C/C++ 3 09.01.2011 23:57
Что тут не так? Ругается почему-то.... kat297 Общие вопросы Delphi 1 03.06.2010 04:24
Вылазает ошибка. Почему что не так? xakkkkker Паскаль, Turbo Pascal, PascalABC.NET 7 18.04.2010 10:54
не работает, что-то не так. Анжелика Помощь студентам 2 06.12.2008 21:47