• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите решить

Евгений

Ученик
Почётный участник
Регистрация
31 Мар 2010
Сообщения
1,309
Реакции
57
Баллы
0
Помогите решить

Начал учить Паскаль (самостоятельно, по книжечке). Познания, пока, не большие. Уперся в задачку. Скорее всего всё очень просто, но я чего-то не соображу.
Дан текстовый файл. Текст-столбик цифр. Нужно записать цифры в другой файл по порядку по 3 числа в строке.
У меня получается, что в строке прописывается 3 раза одна и та же цифра.
 
Начал учить Паскаль (самостоятельно, по книжечке). Познания, пока, не большие. Уперся в задачку. Скорее всего всё очень просто, но я чего-то не соображу.
Дан текстовый файл. Текст-столбик цифр. Нужно записать цифры в другой файл по порядку по 3 числа в строке.
У меня получается, что в строке прописывается 3 раза одна и та же цифра.
Ой, Женя, извини - как-то пропустил сообщение.
Я, конечно, могу написать программку, но будет лучше, если ты выложишь свой вариант. Посмотрим, разберемся, исправим ошибки.
 
const
A= 'A.txt';
B= 'B.txt';
var InFile, OutFile: text;
N: integer;
begin
Assign( InFile, A); Reset( InFile);
Assign( OutFile, B); Rewrite( OutFile);
while not Eof(InFile) do begin
Readln(InFile, N);
Writeln(OutFile,N:6,N:6,N:6);
end;
Close( InFile); Close( OutFile);
end.

Я понимаю, что она делает. И даже понимаю почему. Я не пойму как её заставить записывать числа по порядку в одну строку.
 
Я не пойму как её заставить записывать числа по порядку в одну строку.
Да легко. Например, так:
Код:
const
 A= 'A.txt';
 B= 'B.txt';
var
 InFile, OutFile: text;
 N,k: integer;
begin
 Assign(InFile, A);
 Reset(InFile);
 Assign(OutFile, B);
 Rewrite(OutFile);
 k:=0;
 while not Eof(InFile) do
  begin
   Readln(InFile, N);
   Inc(k);
   if k=3 then
    begin
     Writeln(OutFile,N:6);
     k:=0;
    end
   else
    Write(OutFile,N:6);
  end;
 Close(InFile);
 Close(OutFile);
end.
 

Вложения

  • NC01.webp
    NC01.webp
    14.9 KB · Просмотры: 77
  • NC02.webp
    NC02.webp
    15 KB · Просмотры: 48
Спасибо.
Были у меня подозрения о Write, но не додумался.
А Writeln , получается, перекидывает на новую строку.
Ешё раз спасибо. Хороший урок.
 
Назад
Сверху