написал программу: Создать текстовый фаил f и g, компонентами которых явл. случайные целые числа. Записать в файл h сначала компоненты файла f а затем компоненты файла g с сохранением порядка.
__а дело в том что в первый файл например случайно вводится цифры: 4, 6, 3, 12, 5, 27...
__во 2-й файл вводятся цифры: 3, 11, 7, 16, 3, 21...
__ а в третий файл записываются такие цифры: 4, 6, 3, 1, 5, 2, 3, 1, 7, 1, 3, 2... (т. е. где находятся 2-х значные числа записываются только первая цифра 2-х значного числа) еще раз повторю, помогите мне найти ошибку в задаче, из за которой не выводятся полностью 2-х значные цифры.. .
___а вот задача:
uses crt;
var f,g,h:text;
x,y,i,t,n:integer;
k:char;
begin
clrscr;
randomize;
writeln('vvedite diapozon');
readln(x,y);
t:=random(y-x+1)+x;
assign(f,'d:fail_1.txt');
assign(g,'d:fail_2.txt');
assign(h,'d:fail_3.txt');
rewrite(f);
for i:=1 to t do begin
n:=random(y-x+1)+x;
writeln(f,n);writeln(n);end;
writeln;
rewrite(g);
for i:=1 to t do begin
n:=random(y-x+1)+x;
writeln(g,n);writeln(n);end;
writeln;
rewrite(h);
reset(f);
while not eoln(f) do
begin
readln(f,k);
writeln(h,k);
writeln(k);
end;
reset(g);
while not eoln(g) do
begin
readln(g,k);
writeln(h,k);
writeln(k);
end;
close(f);
close(g);
close(h);
readln
end.
Другие языки программирования и технологии
Найдите ошибку в задаче по ТР
Потому что нефиг читать посимвольно по 1 символу на строку.. .
readln(f,k);
writeln(h,k);
writeln(k);
У тебя k - тип char, он по определению только 1 символ содержать может.. . На string его замени, или если зараннее известна структура файла - то можно и на integer.
P.S. А файл называется не fail_*.txt, а file_*.txt, переименуй, а то как вы яхту назовете...)
readln(f,k);
writeln(h,k);
writeln(k);
У тебя k - тип char, он по определению только 1 символ содержать может.. . На string его замени, или если зараннее известна структура файла - то можно и на integer.
P.S. А файл называется не fail_*.txt, а file_*.txt, переименуй, а то как вы яхту назовете...)
Процедура WRITE.
Обеспечивает вывод информации в текстовый файл или передачу ее на логическое устройство. Формат обращения:
WRITE (<ф. п. >, <сп. вывода>) или WRITE (<сп. вывода>)
Здесь <сп. вывода> - список вывода: последовательность из одного или более выражений типа CHAR, STRING, BOOLEAN, a также любого целого или вещественного типа.
Файловая переменная <ф. п. >, если она указана, должна быть предварительно описана как переменная типа TEXT и связана с именем файла или логическим устройством процедурой ASSIGN. Если файловая переменная отсутствует, подразумевается вывод в стандартный файл OUTPUT, который обычно связан с экраном ПК.
Любой элемент списка вывода может иметь форму
OutExpr [ : MinWidth [ : DecPlaces ] ]
Здесь OUTEXPR - выводимое выражение;
MINWIDTH, DECPLACES - выражения типа WORD (квадратные скобки означают возможность отсутствия заключенных в них параметров) .
Подпараметр MINWIDTH, если он присутствует, указывает минимальную ширину поля, в которое будет записываться символьное представление значения OUTEXPR. Если символьное представление имеет меньшую длину, чем MINWIDTH, оно будет дополнено слева пробелами, если - большую длину, то подпараметр MINWIDTH игнорируется и выводится необходимое число символов.
Подпараметр DECPLACES задает количество десятичных знаков в дробной части вещественного числа. Он может использоваться только совместно с MINWIDTH и только по отношению к выводимому выражению одного из вещественных типов.
Если ширина поля вывода не указана, соответствующий параметр выводится вслед за предыдущим без какого-либо их разделения.
Символы и строки передаются выводному файлу без изменений, но снабжаются ведущими пробелами, если задана ширина поля вывода и эта ширина больше требуемой для вывода.
При выводе логических выражений в зависимости от их значения выводятся строки TRUE или FALSE. (Ввод логических констант процедурами READ или READLN не предусмотрен) .
Вещественные числа выводятся в экспоненциальном формате, если не указан подпараметр DECPLACES, в противном случае выбирается формат представления числа с фиксированной точкой. Экспоненциальный формат представляет вещественное число в виде
_s#.##############E*####,
где:
_ пробел;
s пробел для положительного и знак «-» для отрицательного чисел;
# десятичная цифра;
Е символ десятичного основания;
* знак «+» или «-» в зависимости от знака десятичного порядка числа.
Если подпараметр MINWIDTH опущен, принимается его значение по умолчанию (23). Если MINWIDTH меньше 10, считается, что он равен 10.
Если подпараметр DECPLACES равен нулю, ни дробная часть числа, ни десятичная точка не выводятся. При отрицательном значении DECPLACES этот параметр игнорируется и число выводится в экспоненциальном формате с учетом MINWIDTH. Если значение DECPLACES больше 18, принимается значение 18. Следует учесть, что при указании подпараметра DECPLACES вещественное число всегда будет выводиться в формате с фиксированной точкой и требуемым количеством знаков в дробной части, даже если значение подпараметра MINWIDTH окажется недостаточным для размещения целой части: в этом случае значение MINWIDTH автоматически увеличивается.
При выводе на экран в случае, когда длина выводимой последовательности символов превышает ширину экрана или созданного на нем окна, «лишние» символы переносятся на следующую экранную строку. При заполнении экрана или окна его содержимое сдвигается вверх на одну строку.
Процедура WRITELN. Эта процедура полностью идентична процедуре WRITE за исключением того, что выводимая строка символов завершается кодами CR и LF. При вызове WRITELN можно опускать параметр <сп. вывода>: в этом случае в файл передается маркер EOLN, что при выводе на экран приведет к переводу курсор» в начало следующей строки.
Обеспечивает вывод информации в текстовый файл или передачу ее на логическое устройство. Формат обращения:
WRITE (<ф. п. >, <сп. вывода>) или WRITE (<сп. вывода>)
Здесь <сп. вывода> - список вывода: последовательность из одного или более выражений типа CHAR, STRING, BOOLEAN, a также любого целого или вещественного типа.
Файловая переменная <ф. п. >, если она указана, должна быть предварительно описана как переменная типа TEXT и связана с именем файла или логическим устройством процедурой ASSIGN. Если файловая переменная отсутствует, подразумевается вывод в стандартный файл OUTPUT, который обычно связан с экраном ПК.
Любой элемент списка вывода может иметь форму
OutExpr [ : MinWidth [ : DecPlaces ] ]
Здесь OUTEXPR - выводимое выражение;
MINWIDTH, DECPLACES - выражения типа WORD (квадратные скобки означают возможность отсутствия заключенных в них параметров) .
Подпараметр MINWIDTH, если он присутствует, указывает минимальную ширину поля, в которое будет записываться символьное представление значения OUTEXPR. Если символьное представление имеет меньшую длину, чем MINWIDTH, оно будет дополнено слева пробелами, если - большую длину, то подпараметр MINWIDTH игнорируется и выводится необходимое число символов.
Подпараметр DECPLACES задает количество десятичных знаков в дробной части вещественного числа. Он может использоваться только совместно с MINWIDTH и только по отношению к выводимому выражению одного из вещественных типов.
Если ширина поля вывода не указана, соответствующий параметр выводится вслед за предыдущим без какого-либо их разделения.
Символы и строки передаются выводному файлу без изменений, но снабжаются ведущими пробелами, если задана ширина поля вывода и эта ширина больше требуемой для вывода.
При выводе логических выражений в зависимости от их значения выводятся строки TRUE или FALSE. (Ввод логических констант процедурами READ или READLN не предусмотрен) .
Вещественные числа выводятся в экспоненциальном формате, если не указан подпараметр DECPLACES, в противном случае выбирается формат представления числа с фиксированной точкой. Экспоненциальный формат представляет вещественное число в виде
_s#.##############E*####,
где:
_ пробел;
s пробел для положительного и знак «-» для отрицательного чисел;
# десятичная цифра;
Е символ десятичного основания;
* знак «+» или «-» в зависимости от знака десятичного порядка числа.
Если подпараметр MINWIDTH опущен, принимается его значение по умолчанию (23). Если MINWIDTH меньше 10, считается, что он равен 10.
Если подпараметр DECPLACES равен нулю, ни дробная часть числа, ни десятичная точка не выводятся. При отрицательном значении DECPLACES этот параметр игнорируется и число выводится в экспоненциальном формате с учетом MINWIDTH. Если значение DECPLACES больше 18, принимается значение 18. Следует учесть, что при указании подпараметра DECPLACES вещественное число всегда будет выводиться в формате с фиксированной точкой и требуемым количеством знаков в дробной части, даже если значение подпараметра MINWIDTH окажется недостаточным для размещения целой части: в этом случае значение MINWIDTH автоматически увеличивается.
При выводе на экран в случае, когда длина выводимой последовательности символов превышает ширину экрана или созданного на нем окна, «лишние» символы переносятся на следующую экранную строку. При заполнении экрана или окна его содержимое сдвигается вверх на одну строку.
Процедура WRITELN. Эта процедура полностью идентична процедуре WRITE за исключением того, что выводимая строка символов завершается кодами CR и LF. При вызове WRITELN можно опускать параметр <сп. вывода>: в этом случае в файл передается маркер EOLN, что при выводе на экран приведет к переводу курсор» в начало следующей строки.
Похожие вопросы
- Помогите пожалуйста найти ошибку в задаче (Язык программирования Си)
- Помогите найти ошибку в задачи,Паскаль...
- Pascal помогите пожалуйста найти ошибку в задаче.
- помогите найти ошибку в задаче по паскалю
- Помогите плз найти ошибку в задаче в паскале, есть код,что сделал
- Помогите найти ошибку в задаче, сортировка методом пузырька работает неправильно.
- Помогите найти ошибку в решении олимпиадной задаче...
- Помогите пожалуйста найти ошибку в решении задачи по информатике(паскаль) !!!Прошу очень нужно!!!задача простая!!!
- (PASCAL)помогите найти ошибку в коде задачи, и исправить
- Помогите найти ошибку Delphi легкая программка