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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2011, 13:47   #1
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию Pascal|Чтение из файла в массив.

Добрый день, помогите написать программу, нужно считать из файла 20 символов в массив, считывание вести из файла неопределенной длины, после считывания нужно работая с элементами массива рассчитать формулу:
yi= (sin(xi)+i)/cos(xi); i=1…20
Но вся проблема в том, что весь год мы изучали ассемблер и C/C++, я конечно понимаю что после этого написать программу не должно составить труда, но у меня почему то не получается =(.
Вот мой код, но в нём какая-то глупая ошибка:
Код:
Program test;
Function ReadKey: Char;
Var
C:Char;
F:text;
Y:Array [1..100] Of Double;
A:Array [1..100] Of Double;
i,k:integer;
Begin
assign(f,'INPUT.txt');
reset(f);
while not eof(f) do
inc(k);
read(f,A[k]);
close(f);
for i:=1 to k do
write (a[i],' ');
ReadLn;
end.
Если вам будет не сложно, помогите написать программу.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 17.07.2011, 13:54   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
while not eof(f) do
inc(k);
read(f,A[k]);
begin\end;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2011, 13:56   #3
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Сделал как вы сказали, ошибка осталась, говорит отсутствует ';'.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 17.07.2011, 13:59   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В какой строке?) Обычно при таких ошибках это указано.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2011, 14:02   #5
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Цитата:
Сообщение от Демик Посмотреть сообщение
Код:
Program test;
Function ReadKey: Char;
Var
C:Char;
F:text;
Y:Array [1..100] Of Double;
A:Array [1..100] Of Double;
i,k:integer;
Begin
assign(f,'INPUT.txt');
reset(f);
while not eof(f) do
inc(k);
read(f,A[k]);
close(f);
for i:=1 to k do
write (a[i],' ');
ReadLn;
end.//Вот тут.
В самом конце кода.
Злостный анимешнег =^.^=

Последний раз редактировалось Демик; 17.07.2011 в 14:08.
Демик вне форума Ответить с цитированием
Старый 17.07.2011, 14:04   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Function ReadKey: Char;
А это что?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2011, 14:24   #7
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Ммм, это лишнее) С компилировалось. А вы можете написать аналог вот этой формулы, только на паскале? Или хотя бы как sin/cos на паскале пишутся?
yi= (sin(xi)+i)/cos(xi); i=1…20
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 17.07.2011, 14:26   #8
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

И для каждого цикла нужно писать begin/end; ?
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 17.07.2011, 14:27   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да вроде так и пишутся:
realvar:=sin(a)
realvar:=cos(a)
и т.д.
y[i]:=(sin(x[i])+i)/cos(x[i]);
как-то так

begin\end; если в цикле больше одного...э...действия
т.е.
Код:
for i:=1 to 20 do
   a:=a+i;
можно и без них. А вот тут уже обязательно или b:=b+i будет за циклом:
Код:
for i:=1 to 20 do
   a:=a+i;
b:=b+i;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 17.07.2011 в 14:34.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2011, 14:43   #10
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Alex11223, спасибо большое за разъяснения)
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Php. Построчное чтение из файла в массив Leshiy80 PHP 9 30.10.2014 12:45
Pascal Чтение времени, даты и строчки из файла triest Помощь студентам 0 18.05.2011 16:11
Создание/чтение файла и списки в Pascal evilangel Помощь студентам 0 02.02.2011 12:59
Pascal чтение из файла Dart Помощь студентам 2 11.12.2007 22:15
Чтение фрагмента файла в динамический массив. ZeroCool. Общие вопросы Delphi 2 02.11.2007 08:14