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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.12.2011, 12:06   #1
Katrina*
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 29
Вопрос как исправить ошибку

Задается число К. Нужно вывести цвет каждой клетки доски КхК, если известно, что они покрашены в шахматном порядке и клетка (1,1) - белая.
Например,
вводим число 3
ответ:
WBW
BWB
WBW

Program zadachaA;
var f1,f2:text;
i,j,k:integer;
function f(x,y:integer):char;
begin
F:='B';
if (x+y) mod 2 = 0 then F:='W';
end;
begin
assign(f1,'A\A.in');
assign(f2,'A\A.out');
reset(f1); rewrite(f2);
Readln(f1,k);
For i:=1 to K do begin
For j:=1 to K do
Write(f2, F(i,j));
writeln;
end;
readln;
Close(f1); close(f2);
end.

Дает ошибку 'Path not found'
Katrina* вне форума
Старый 20.12.2011, 12:43   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

В папке с проектом(программой) создать папку A
Цитата:
assign(f1,'A\A.in');
assign(f2,'A\A.out');
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума
Старый 20.12.2011, 19:32   #3
Katrina*
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 29
По умолчанию

У меня программа и входной, выходной файлы так и так находятся в папке А.
Katrina* вне форума
Старый 20.12.2011, 19:53   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
У меня программа и входной, выходной файлы так и так находятся в папке А.
Дело не в этом.
Смотрите допустим файл программы и остальные файлы лежат на диске С в папке А как вы говорите!
Но в пути к файлу у вас написано 'A\A.in'
Соответственно в папке где лежит у вас программа должна быть папка А в которой должны лежать файлы
Т к текущий путь у вас С:\A и плюс то что прописано А это A\файлы
Соответственно полный путь до файлов
С:\A\A\ваши_файлы
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума
Старый 20.12.2011, 20:11   #5
Katrina*
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 29
По умолчанию

аааа.... спасибо! теперь ясно!
Katrina* вне форума
Старый 20.12.2011, 20:14   #6
Katrina*
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 29
Лампочка

Я изменила программу, но почему ответ не записывается в выходной файл? подскажите кто знает, что здесь нужно сделать?

Program zadachaA;
var f1,f2:text;
i,j,k:integer;
function f(x,y:integer):char;
begin
F:='B';
if (x+y) mod 2 = 0 then F:='W';
end;
begin
assign(f1,'A\A.in');
reset(f1);
assign(f2,'A\A.out');
rewrite(f2);
Readln(f1,k);
For i:=1 to K do begin
For j:=1 to K do
Write(f2, F(i,j));
writeln;
end;
readln(f1);
Close(f1); close(f2);
end.
Katrina* вне форума
Старый 20.12.2011, 20:36   #7
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

По тексту не видно, что изменения внесены.
И так: По умолчанию, при работе с фалом, рассматривается текущий каталог - тот, в котором запускается исполняемый файл.
Пусть в корне системного диска создан каталог A.
Тогда в обращениях к файлам этого каталога надо указывать полный путь:
Код:
assign(f1,'c:\a\myfile1.txt');
Аналогично и с выходным файлом.
Кстати, а что означет readln(f1); в завершении программы?
И закрывать файл, открытый на чтение нет необходимости в такой программе.
Код:
For i:=1 to K do begin
   For j:=1 to K do
      Write(f2, F(i,j));
   writeln(f2);
end;
   close(f2);
так что хвост мог бы быть таким...
Как-то так, ...

Последний раз редактировалось ViktorR; 20.12.2011 в 20:39.
ViktorR вне форума
Старый 20.12.2011, 20:55   #8
Katrina*
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 29
По умолчанию

Ой ссори ошиблась, не тот код вставила. ВОт
Program zadachaA;
var f1,f2:text;
i,j,k:integer;
function f(x,y:integer):char;
begin
F:='B';
if (x+y) mod 2 = 0 then F:='W';
end;
begin
assign(f1,'A.in');
reset(f1);
assign(f2,'A.out');
rewrite(f2);
Readln(f1,k);
For i:=1 to K do begin
For j:=1 to K do
Write(f2, F(i,j));
writeln(f2);
end;
close(f2);
end.

И всё равно не записывается в A.out
Katrina* вне форума
Старый 20.12.2011, 21:43   #9
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

А где ищем файл?
Если это на стадии компиляции, типа F8 или Ctrl + А9, то ищем в папке bin или как она там у вас называется.
Если это aaa.exe, то ищем в той же папке, где этот файл находится.
Правильнее будет явно указать путь.
Т.е. создайте в корне системного диска папку, например, MyLab.
Пропишите в assign(f1, 'c:\MyLab\Myfile.out');
И будет счастье. Выставленный код вполне рабочий и у меня все Ок.

Да, да!!! Как замечено в соседней ветке на ваши вопросы. А что записали в исходном файле?
Запишите в файл a.in, блокнотом, число.
Как-то так, ...

Последний раз редактировалось ViktorR; 20.12.2011 в 22:02.
ViktorR вне форума
Старый 21.12.2011, 00:17   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

тема закрыта за кросспост
Serge_Bliznykov вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как исправить ошибку? Gerain4 Помощь студентам 4 08.12.2011 08:11
Как исправить ошибку yana33311 Паскаль, Turbo Pascal, PascalABC.NET 2 17.04.2011 21:07
Как исправить ошибку? True_girl Помощь студентам 0 19.04.2010 22:47
как исправить ошибку? aiktz Паскаль, Turbo Pascal, PascalABC.NET 3 24.09.2009 18:56