[-alex-] 408 / 3 / 1 Регистрация: 15.04.2010 Сообщений: 40 |
||||
1 |
||||
15.04.2010, 21:37. Показов 3727. Ответов 6 Метки нет (Все метки)
Общее условие:Заполнение массива случайными целыми значениями из диапазона — 50 до 50 . Размеры массива м или n взять постоянными, равными целым числам от 5 до 10 требуется выводить на экран массив до сортировки и после сортировки.
Проблема:
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
15.04.2010, 21:37 |
Ответы с готовыми решениями: Ошибка 105 I/O
Ошибка 105 Ошибка: Error (105) {$mode objfpc}{$H+} interface uses 6 |
Puporev Почетный модератор 64291 / 47589 / 32740 Регистрация: 18.05.2008 Сообщений: 115,181 |
||||
15.04.2010, 21:45 |
2 |
|||
но значение n нигде в программе не используется, поучается полный испуг для компилятора. Добавлено через 52 секунды
1 |
[-alex-] 408 / 3 / 1 Регистрация: 15.04.2010 Сообщений: 40 |
||||||||
15.04.2010, 21:46 [ТС] |
3 |
|||||||
Эм….во вводе и выводе матрицы исправил с
на
Теперь вывод полученной матрицы кривой(( что то я совсем уже… В сортировке m ли надо использовать?… Сменил в сортировке на n, теперь с цветами чудеса в паскале…
0 |
Puporev Почетный модератор 64291 / 47589 / 32740 Регистрация: 18.05.2008 Сообщений: 115,181 |
||||
15.04.2010, 21:52 |
4 |
|||
0 |
408 / 3 / 1 Регистрация: 15.04.2010 Сообщений: 40 |
|
15.04.2010, 22:05 [ТС] |
5 |
Просто глюк с цветами, проблему вроде нашел. Спасибо) Добавлено через 10 минут
0 |
Почетный модератор 64291 / 47589 / 32740 Регистрация: 18.05.2008 Сообщений: 115,181 |
|
15.04.2010, 22:08 |
6 |
Хм, ваш вариант при n<m дает пару строк с 0… Да я понятия не имею что Вы там творите в программе, я просто ответил на Ваш вопрос по ошибке.
0 |
[-alex-] 408 / 3 / 1 Регистрация: 15.04.2010 Сообщений: 40 |
||||
15.04.2010, 22:28 [ТС] |
7 |
|||
Конечный вариант такой….
Тему можно закрывать вроде что)
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
15.04.2010, 22:28 |
Помогаю со студенческими работами здесь Ошибка с кодом 105
Ошибка I/O Error 105 interface uses
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 7 |
Прочтите прежде чем задавать вопрос!
1. Заголовок темы должен быть информативным. В противном случае тема удаляется …
2. Все тексты программ должны помещаться в теги [code=pas] … [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. «FAQ«, если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение — только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы — на PM!
6. Одна тема — один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
|
Сообщение |
|
Гость |
здравствуйте, проблема1: проблема2: |
|
|
volvo |
Сообщение |
Гость |
-katrin-, Насчет первого вопроса — к тому, что есть в FAQ: Сделайте мне русский в Паскале добавить нечего… |
|
|
-katrin- |
Сообщение |
Гость |
задача: текст Код program myAge; case k of |
|
|
volvo |
Сообщение |
Гость |
-katrin-, во-первых, Case оформлен неверно. Вот правильный вариант: case k of Ну а во вторых, этот код компилируется и работает как под BP так и под Turbo Pascal… Что-то непонятное у Вас творится… P.S. А зачем вот это: Str(k, st); ? writeln('Mne ', k, s); |
|
|
-katrin- |
Сообщение |
Гость |
volvo спасибо! но все равно ошибку выдает |
|
|
volvo |
Сообщение |
Гость |
А поточнее? На каком именно Write выдает ошибку? На самом первом? Или на каком-то из последующих? Возраст ввести дает? |
|
|
Guest |
Сообщение |
Гость |
Runtime error 105 at 0001:0086 |
|
|
volvo |
Сообщение |
Гость |
Это мне НИЧЕГО не скажет… Это на Вашем компьютере есть такой адрес. У меня его нет. Локализуйте ошибку. Лучше всего — после КАЖДОЙ строки поставить Writeln(‘stroka #1’), и т.д. и посмотреть СКОЛЬКО он выводит строк. Адреса — понятие ОЧЕНЬ ненадежное… |
|
|
-katrin- |
Сообщение |
Гость |
он ничего не пишет, после запуска сразу ошибку выдает |
|
|
Guest |
Сообщение |
Гость |
Может библиотеку надо подключить, просто в вашем коде я этого не видел |
|
|
volvo |
Сообщение |
Гость |
Интересно какую? Все функции используемые в программе входят в состав System.tpu, который подключается автоматически. Да, кроме этого если бы не хватало библиотеки, программа не прошла бы компиляцию, а она ее проходит. Единственное, что приходит на ум сделать — это попробовать использовать: Program myAge(input, output); , то есть воспользоваться стандартными каналами ввода-вывода. Интересно, сработает ли это? |
|
|
-katrin- |
Сообщение |
Гость |
все та же runtime error 105 |
|
|
volvo |
Сообщение |
Гость |
Попробуй установить Turbo Pascal, с ним не должно быть проблем… Программа — точно рабочая, я ее уже в каких компиляторах только не гонял… |
|
|
-katrin- |
Сообщение |
Гость |
volvo |
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
Связь с администрацией: bu_gen в домене octagram.name
-
dr.Jekill
- Сообщения: 509
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Почему-то в файл не выводит:
Код: Выделить всё
var t:text; i:byte;begin assign(t,'Primer.txt'); rewrite(t); for i:=1 to 20 do writeln(t,'*'); close(t);end.
Нет религии выше истины
-
Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
24 мар 2009, 23:08
Ну, при использовании досовского Turbo Pascal в Windows такое бывает. У меня после переустановки операционки Turbo Pascal перестал работать с файлами вообще.
-
dr.Jekill
- Сообщения: 509
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
24 мар 2009, 23:30
Да — интересное кино!А как же обойти?
Нет религии выше истины
-
somewhere
- Сообщения: 1837
- Зарегистрирован: 31 авг 2006, 17:14
- Откуда: 71 RUS
- Контактная информация:
24 мар 2009, 23:37
105 говорит о том, что файл не открыт для записи. Значит сбой выходит где то в районе Rewrite. Тут как бы причина должна быть одна — файл залочен кем то или чем то. Т.е. он открыт и используется, либо общая длина пути вместе со всеми подпапками к этому файлу выше 80 символов
It’s a long way to the top if you wanna rock’n’roll
-
dr.Jekill
- Сообщения: 509
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
25 мар 2009, 00:17
Ну это ясно. А что делать-то?Как программно сделать, чтобы файл во время выполнения программы использовался только этой программой? Есть еще какие-нибудь методы?
Нет религии выше истины
-
Duncon
- Сообщения: 1974
- Зарегистрирован: 10 окт 2004, 14:11
- Откуда: Питер
- Контактная информация:
25 мар 2009, 08:58
В потоке открой, с опцией
[syntax=Delphi]
f := TFileStream.Create(‘myFile.xz’, fmCreate or fmShareCompat);
[/syntax]
[syntax=Delphi] [/syntax]
-
Duncon
- Сообщения: 1974
- Зарегистрирован: 10 окт 2004, 14:11
- Откуда: Питер
- Контактная информация:
25 мар 2009, 09:03
В потоке открой, с опцией
[syntax=Delphi]
f := TFileStream.Create(‘myFile.xz’, fmCreate or fmShareCompat); // еще fmShareExclusive
[/syntax]
[syntax=Delphi] [/syntax]
-
dr.Jekill
- Сообщения: 509
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
25 мар 2009, 14:09
Ну в Delphi c TStream все понятно — нужно подключить classes и Sysutils, а где их взять в Pascal для Dos? Как ни странно на другом компе ошибки 105 не возникает, а у меня даже после переустановки Паскаля работает только по такой схеме:assign-rewrite-close-reset.Нужно вывести дерево выражения в файл построчно в префиксной форме. Такая процедура записывает лишь корень дерева:
Код: Выделить всё
procedure ExitRez(r:TreePointer);
begin
if r<>nil then
begin
writeln(rez,r^.data);
Prefix(r^.left);
Prefix(r^.right);
end
end;
Дерево формируется из файла, в котором выражение записано в префиксной форме, так:
Код: Выделить всё
procedure Build(var p:TreePointer);
begin
new(p);
readln(fail,p^.data);
if (p^.data ='+') or (p^.data='-') or (p^.data ='*') or (p^.data ='/') then
begin
Build(p^.left);
Build(p^.right);
end
else
if (p^.data='exp') or (p^.data ='ln') or (p^.data ='cos') or (p^.data ='sin') then
begin
p^.left:= nil;
Build(p^.right);
end
else
begin
p^.left:= nil;
p^.right:= nil;
end
end;
Нет религии выше истины
-
somewhere
- Сообщения: 1837
- Зарегистрирован: 31 авг 2006, 17:14
- Откуда: 71 RUS
- Контактная информация:
25 мар 2009, 14:26
Чувствую что какие то непонятки со встроеным дос эмулятор, посему предлагаю
проверить
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
ComSpec = %SYSTEMROOT%\System32\cmd.exe
Наличие самого файла по указанному пути, его размер и версию. У меня размер 395776, версия 5.1.2600.2180
Проблемы подобного рода были после установки какого то софта то ли для LAN то ли WAN и этот софт подменил интерпретатор на свой, после были глюки вплоть до дебилизма, например не работал «dir /p» писал что то вроде ключ не опознан
It’s a long way to the top if you wanna rock’n’roll
-
dr.Jekill
- Сообщения: 509
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
25 мар 2009, 15:40
Проверил всё нормально: версия такая же, размер тот же.Должна ли процедура ExitRez заполнять файл элементами дерева построчно или код неверен?
Нет религии выше истины
|
|
|
RunTime Error 105
, (разделено)
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Newbie Рейтинг (т): нет |
Люди хелпните, мне 14 лет токо начал заниматься програмированием, вот увидел пользу паскаля… када пишу в поиске адрес ошибки мне выделяет строку хотя там вроде ошибок нету блин!!!! Эта тема была разделена из темы «ЧАВО+» |
KiRiK |
|
Senior Member Рейтинг (т): 25 |
Хм.. что это у тебя за IDE такая? |
Булат Шакиров |
|
Работаешь в BPW? А Uses WinCRT Кто будет ставить? |
AVA12 |
|
Цитата Run-time error 105: File not open for output This error occurs if you try to use standard input and output functions like Readln and Writeln without the Uses WinCRT; statement. To correct this error, add Uses WinCRT; to your program. © Borland Pascal Help (bpw.hlp). |
zJIoy4eJI |
|
Newbie Рейтинг (т): нет |
А по подробнее, как код будет выглядеть??? |
Булат Шакиров |
|
zJIoy4eJI Uses WinCrt; {Твой код здесь} |
zJIoy4eJI |
|
Newbie Рейтинг (т): нет |
То есть Цитата
Uses WinCrt; да? и это при аждом использовании оператора Writeln И readln ??? Добавлено Цитата program E1; Добавлено |
volvo877 |
|
Moderator Рейтинг (т): 878 |
zJIoy4eJI, program E1; Uses WinCrt; var a,d,c: real; begin writeln(‘Введите длины трех сторон треугольника’); readln(a,d,c); write (‘Треугольник со сторонами ‘, a,d,c); if(a + d > c) and (d + c > a) and (c + a > d) then writeln (‘сушествует’) else writeln (‘не сушествует’) end.
все-таки, иначе компилятор тебя не поймет |
zJIoy4eJI |
|
Newbie Рейтинг (т): нет |
вот вот я так и сделал Добавлено Добавлено |
e-moe |
|
Цитата zJIoy4eJI @ знак делить это / ???
да конечно |
zJIoy4eJI |
|
Newbie Рейтинг (т): нет |
Цитата e-moe @ Цитата zJIoy4eJI @ знак делить это / ???
да конечно А теперь обьясни тупому 9-и класснику что озночает целочислительское деление?? |
Anykey |
|
Full Member Рейтинг (т): 26 |
Цитата zJIoy4eJI @ А теперь обьясни тупому 9-и класснику что озночает целочислительское деление?? Выдает только целую часть от деления |
volvo877 |
|
Moderator Рейтинг (т): 878 |
Цитата zJIoy4eJI @ что озночает целочислительское деление?? Деление, когда делимое, делитель и частное — целые числа… Var i, j: integer; begin i := 7; j := i / 2; { <— Ошибка } j := i div 2; { <— Правильно} end. |
Alex_Speaker |
|
zJIoy4eJI, |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Pascal
- Следующая тема
[ Script execution time: 0,0412 ] [ 15 queries used ] [ Generated: 22.09.23, 07:54 GMT ]
Коды ошибок компилятора Паскаля
При отладке программ вы неизбежно столкнетесь с ошибками. Компилятор будет вам на чистом английском языке сообщать об ошибке. Вы не знаете английского? Тогда зачем согласились стать программистом? Если вы скажете что вас заставили, то мы попытаемся вам помочь. Здесь вы найдете коды ошибок и их перевод на русский язык. Кстати, помните, что компилятор часто врет и место ошибки указывает не правильно. Если в той строке, где компилятор якобы нашел ошибку, ошибки все-таки нет, то ишщите ее в соседних строках или в том блоке программы, к которому имеет отношение, отмеченная компилятором строка. Например, в вызываемой процедуре. Ну, дальше вы сами уже сможете сообразить.
Основные сообщения об ошибках Паскаля
Сообщения компилятора о синтаксических ошибках:
1 — выход за границы памяти;
2 — не указан идентификатор;
3 — неизвестный идентификатор;
4 — повторный идентификатор;
5 — синтаксическая ошибка;
6 — ошибка в вещественной константе;
7 — ошибка в целочисленной константе;
8 — строковая константа превышает размеры строки;
9 — слишком много вложенных файлов;
10 — неправильный конец файла;
11 — строка слишком длинная;
12 — требуется идентификатор типа;
13 — слишком много открытых файлов;
14 — неверное имя файла;
15 — файл не найден;
16 — диск заполнен;
17 — неправильная директива компилятора;
18 — слишком много файлов;
19 — неопределенный тип в определении ссылки;
20 — нужен идентификатор переменной;
21 — ошибка в определении типа;
22 — слишком большая структура;
23 — базовый тип множества нарушает границы;
24 – компонентами файла не могут быть файлы или объекты;
25 — неверная длина строки;
26 — несоответствие типов;
27 — неправильный базовый тип отрезка типа;
28 — нижняя граница больше верхней;
29 — нужен порядковый тип;
30 — нужна целая константа;
31 — нужна константа;
32 — нужна целая или действительная константа;
33 — нужен идентификатор типа;
34 — неправильный тип результата функции;
35 — нужен идентификатор метки;
36 — нужен begin;
37 — нужен end;
38 — нужно выражение типа integer;
39 — нужно выражение перечисляемого типа;
40 — нужно выражение типа boolean;
41 — типы операндов не соответствуют оператору;
42 — ошибка в выражении;
43 — неверное присваивание;
44 — нужен идентификатор поля;
45 — объектный файл слишком большой (больше 64 Кб);
46 — неопределенная внешняя процедура;
47 — неправильная запись объектного файла;
48 — сегмент кода слишком большой (больше 65520 байт);
49 — сегмент данный слишком велик;
50 — нужен оператор do;
51 — неверное определение public;
52 — неправильное определение extrn;
53 — слишком много определений типа extrn (больше 256);
54 — требуется of;
55 — требуется интерфейсная секция;
56 — недействительная перемещаемая ссылка;
57 — требуется then;
58 — требуется to или downto;
59 — неопределенное опережающее описание;
60 — слишком много процедур (больше 512 в одном модуле);
61 — неверное преобразование типа;
62 — деление на нуль;
63 — неверный файловый тип;
64 – невозможно прочитать или записать переменные данного типа;
65 – требуется использование переменной-указателя;
66 — нужна строковая переменная;
67 — нужно выражение строкового типа;
68 — программный модуль не найден;
69 — несоответствие времен программных модулей;
70 — несоответствие версий программных модулей;
71 — повторное имя программного модуля;
72 — ошибка формата файла программного модуля;
73 — требуется секция реализации;
74 — типы константы и тип выражения оператора case не соответствуют друг другу;
75 — нужна переменная типа запись;
76 — константа нарушает границы;
77 — нужна файловая переменная;
78 — нужно выражение типа указатель;
79 — нужно выражение типа real или integer;
80 — метка не находится внутри текущего блока;
81 — метка уже определена;
82 — неопределенная метка в предыдущем разделе операторов;
83 — недействительный аргумент оператора @;
84 — требуется ключевое слово unit;
85 — требуется указать «;»;
86 — требуется указать «:»;
87 — требуется указать «,»;
88 — требуется указать «(«;
89 — требуется указать «)»;
90 — требуется указать «=»;
91 — требуется указать «:=»;
92 — требуется «[» или «(.»;
93 — требуется «]» или «.)»;
94 — требуется «.»;
95 — требуется «..»;
96 — слишком много переменных;
97 — неправильная переменная цикла оператора for. Переменная должна быть перечислимого типа;
98 — нужна переменная целого типа;
99 — здесь не допускаются файлы;
100 — несоответствие длины строковой переменной или константы;
101 — неверный порядок полей;
102 — нужна константа строкового типа;
103 — нужна переменная типа integer или real;
104 — нужна переменная перечисляемого типа;
105 — ошибка в операторе inline;
106 — предшествующее выражение должно иметь символьный тип;
107 — слишком много перемещаемых элементов;
108 — недостаточно памяти для выполнения программы;
109 — нет возможности найти файл .EXE;
110 — модуль выполнять нельзя;
111 — компиляция прервана с помощью клавиш Ctrl+Break;
112 — константа оператора case находится вне границ;
113 — ошибка в операторе. Данный символ не может быть первым символом в операторе;
114 — невозможно вызвать процедуру прерывания;
115 — для компиляции необходимо наличие сопроцессора 8087;
116 — для компиляции необходим режим 8087;
117 — адрес назначения не найден;
118 — в такой ситуации включаемые файлы не допускаются;
119 — ошибка формата файла .TPU;
120 — требуется NIL;
121 — неверный квалификатор переменной;
122 — недействительная ссылка на переменную;
123 — слишком много символов (больше 64 Кб);
124 — слишком большой раздел операторов (больше 64 Кб);
125 — в модуле нет отладочной информации;
126 — параметры файлового типа должны быть параметрами var;
127 — слишком много условных символов;
128 — пропущена условная директива;
129 — пропущена директива endif;
130 — ошибка в начальных условных определениях;
131 — заголовок не соответствует предыдущему определению;
132 — критическая ошибка диска;
133 — нельзя вычислить данное выражение;
134 — некорректное завершение выражения;
135 — неверный спецификатор формата;
136 — недопустимая косвенная ссылка;
137 — здесь не допускается использование структурной переменной;
138 — нельзя вычислить без блока system;
139 — доступ к данному символу отсутствует;
140 — недопустимая операция с плавающей запятой;
141 — нельзя выполнить компиляцию оверлеев в память;
142 — должна использоваться переменная-процедура или функция;
143 — недопустимая ссылка на процедуру или функцию;
144 — этот модуль не может использоваться в качестве оверлейного.
Сообщения об ошибках времени исполнения программы:
1 — не найден файл;
3 — не найден путь;
4 — слишком много открытых файлов;
5 — отказано в доступе к файлу;
6 — недоступный файловый канал;
12 — недействительный код доступа к файлам;
15 — недопустимый номер дисководов;
16 — нельзя удалить текущий каталог;
17 — нельзя при именовании указывать разные дисководы;
100 — ошибка чтения диска;
101 — ошибка записи на диск;
102 — файлу не присвоено имя;
103 — файл не открыт;
104 — файл не открыт для ввода;
105 — файл не открыт для вывода;
106 — неверный числовой формат;
150 — диск защищен от записи;
151 — неизвестный модуль;
152 — дисковод находится в состоянии «не готов»;
153 — неопознанная команда;
154 — в исходных данных;
155 — при запросе к диску неверная длина структуры;
156 — ошибка при операции установки головок на диске;
157 — неизвестный тип носителя;
158 — сектор не найден;
159 — кончилась бумага на устройстве печати;
160 — ошибка при записи на устройство;
161 — ошибка при чтении с устройства;
162 — сбой аппаратуры;
200 — деление на нуль;
201 — ошибка при проверке границ;
202 — переполнение стека;
203 — переполнение динамически распределяемой области памяти;
204 — недействительная операция ссылки;
205 — переполнение операции с плавающей запятой;
206 — исчезновение порядка при операции плавающей запятой;
207 — недопустимая операция с плавающей запятой;
208 — не установлена подсистема управления оверлеями;
209 — ошибка чтения оверлейного файла.