Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 20.03.2011, 20:17   #11 (permalink)
RadMan
Member
 
Регистрация: 20.03.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

да, щас увидел
RadMan вне форума   Ответить с цитированием

Старый 20.03.2011, 20:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В каком то из этих постов проблема возможно решена

Не открываются PDF файлы
Файлы
Blu ray файлы
файлы

Старый 20.03.2011, 20:20   #12 (permalink)
RadMan
Member
 
Регистрация: 20.03.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

да щас увидел, блин и в одной проге, тоесть так написано по левому/правому
RadMan вне форума   Ответить с цитированием
Старый 20.03.2011, 20:21   #13 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от RadMan Посмотреть сообщение
да, щас увидел
Хорошо, только вот ведь в чем проблема - как Вы собираетесь смотреть результат? Дело в том, что многие Windows-редакторы и смотрелки принудительно срубают пробелы слева. У меня-то DOS-Паскаль, и я результат увижу, а вот Вы - не знаю. Но сейчас сделаю.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.03.2011, 20:29   #14 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ну вот - пожалуйста. В DOS форматирование по правому краю работает - проверено. Отформатированный по правому краю текст находится в файле с именем Name3.
Код:
VAR
 f1,f2,f3:TEXT;
 N,L,i:Byte;
 S:String;
 C:Char;

BEGIN
 Assign(f1,'D:\Name1');
 ReSet(f1);
 Assign(f3,'D:\Name3');
 ReWrite(f3);
 Repeat
  Repeat
   Read(f1,C);
   If C<>' ' then Write(f3,C)  else WriteLn(f3);
  Until (C=' ') or (EoLn(f1)) or Eof(f1);
 Until Eof(f1);
 Close(f1);
 Close(f3);
 Write('N= ');
 ReadLn(N);
 Assign(f2,'D:\Name2');
 ReWrite(f2);
 ReSet(f3);
 ReadLn(f3,S);
 Write(f2,S);
 Repeat
  L:=Length(S);
  Repeat
   ReadLn(f3,S);
   L:=L+Length(S)+1;
   If L<=N then Write(f2,' '+S);
  Until (L>N) or (EoF(f3));
  If (not EoF(f3)) then
   begin
    WriteLn(f2);
    Write(f2,S);
   end;
 Until EoF(f3);
 Close(f3);
 Close(f2);
 ReSet(f2);
 ReWrite(f3);
 Repeat
  ReadLn(f2,S);
  For i:=1 to N-Length(S) do Write(f3,' ');
  WriteLn(f3,S);
 Until EoF(f2);
 Close(f2);
 Close(f3);
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.03.2011, 20:33   #15 (permalink)
RadMan
Member
 
Регистрация: 20.03.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибооооо огромноее
RadMan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 27.03.2011, 15:10   #16 (permalink)
RadMan
Member
 
Регистрация: 20.03.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

чтото не получается чтоб по правому краю и центру выпрямить, сделаййте пожалуйста
RadMan вне форума   Ответить с цитированием
Старый 27.03.2011, 15:44   #17 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от RadMan Посмотреть сообщение
чтото не получается чтоб по правому краю и центру выпрямить, сделаййте пожалуйста
По центру я не делал, вы не заказывали, а насчет "не получается" - так я Вас в #13 предупреждал, с чем это может быть связано.
Программа построена так, что при выравнивании по правому краю перед строкой вставляются пробелы в таком количестве, чтобы последний символ строки оказался в нужной фиксированной позиции. Ну а всякие там смотрелки да редакторы часто эти "лишние" с их точки зрения пробелы просто срубают, вот и "не получается".
Под DOS всё работает - проверено.
Да и под Windows:

1. Исходный файл:
Код:
Гнев, богиня, воспой Ахиллеса, Пелеева сына,
Грозный, который ахеянам тысячи бедствий соделал:
Многие души могучие славных героев низринул
В мрачный Аид и самих распростер их в корысть плотоядным
Птицам окрестным и псам (совершалася Зевсова воля),
С оного дня, как, воздвигшие спор, воспылали враждою
Пастырь народов Атрид и герой Ахиллес благородный.
Кто ж от богов бессмертных подвиг их к враждебному спору?
2. С ограничением 70 символов и выравниванием по левому краю:
Код:
Гнев, богиня, воспой Ахиллеса, Пелеева сына, Грозный, который ахеянам
тысячи бедствий соделал: Многие души могучие славных героев низринул В
мрачный Аид и самих распростер их в корысть плотоядным Птицам
окрестным и псам (совершалася Зевсова воля), С оного дня, как,
воздвигшие спор, воспылали враждою Пастырь народов Атрид и герой
Ахиллес благородный. Кто ж от богов бессмертных подвиг их к
враждебному спору?
3. По правому краю:
Код:
 Гнев, богиня, воспой Ахиллеса, Пелеева сына, Грозный, который ахеянам
тысячи бедствий соделал: Многие души могучие славных героев низринул В
         мрачный Аид и самих распростер их в корысть плотоядным Птицам
        окрестным и псам (совершалася Зевсова воля), С оного дня, как,
      воздвигшие спор, воспылали враждою Пастырь народов Атрид и герой
           Ахиллес благородный. Кто ж от богов бессмертных подвиг их к
                                                    враждебному спору?
Vladimir_S вне форума   Ответить с цитированием
Старый 27.03.2011, 15:52   #18 (permalink)
RadMan
Member
 
Регистрация: 20.03.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

а как тогда сделать, вот я сделал чтоб по левому и по центру...тут не могу исправить чтоб вместо левого правый был
Код:
VAR
f1,f2,f3:TEXT;
N,L,i,k:Byte;
S:String;
C:Char;

BEGIN
Assign(f1,'Name1.txt');
ReSet(f1);
Assign(f3,'Name3.txt');
ReWrite(f3);
Repeat
Repeat
Read(f1,C);
If C<>' ' then Write(f3,C) else WriteLn(f3);
Until (C=' ') or (EoLn(f1)) or Eof(f1);
Until Eof(f1);
Close(f1);
Close(f3);
Write('N= ');
ReadLn(N);
Assign(f2,'Name2.txt');
ReWrite(f2);
ReSet(f3);
ReadLn(f3,S);
Write(f2,S);
Repeat

L:=Length(S);
Repeat
ReadLn(f3,S);
L:=L+Length(S)+1;
If L<=N then Write(f2,' '+S);
Until (L>N) or (EoF(f3));
If (not EoF(f3)) then
begin
WriteLn(f2);
Write(f2,S);
end;
Until EoF(f3);
Close(f3);
Close(f2);
ReSet(f2);
ReWrite(f3);
Repeat
ReadLn(f2,S);
if odd(length(s))then s:=' '+s;
k:=(50-length(s)) div 2;
for i:=1 to k do
s:=' '+s;

WriteLn(f3,S);
Until EoF(f2);
Close(f2);
Close(f3);
END.
RadMan вне форума   Ответить с цитированием
Старый 27.03.2011, 19:48   #19 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вы извините, но я просто добавил выравнивание по центру в свою программу (файл Name4). Изменения выделены красным. Вот:
Код:
VAR
 f1,f2,f3:TEXT;
 N,L,i,j:Byte;
 S:String;
 C:Char;

BEGIN
 Assign(f1,'D:\Name1');
 ReSet(f1);
 Assign(f3,'D:\Name3');
 ReWrite(f3);
 Repeat
  Repeat
   Read(f1,C);
   If C<>' ' then Write(f3,C)  else WriteLn(f3);
  Until (C=' ') or (EoLn(f1)) or Eof(f1);
 Until Eof(f1);
 Close(f1);
 Close(f3);
 Write('N= ');
 ReadLn(N);
 Assign(f2,'D:\Name2');
 ReWrite(f2);
 ReSet(f3);
 ReadLn(f3,S);
 Write(f2,S);
 Repeat
  L:=Length(S);
  Repeat
   ReadLn(f3,S);
   L:=L+Length(S)+1;
   If L<=N then Write(f2,' '+S);
  Until (L>N) or (EoF(f3));
  If (not EoF(f3)) then
   begin
    WriteLn(f2);
    Write(f2,S);
   end;
 Until EoF(f3);
 Close(f3);
 Close(f2);
 ReSet(f2);
 ReWrite(f3);
 Assign(f1,'D:\Name4');
 ReWrite(f1);
 Repeat
  ReadLn(f2,S);
  For i:=1 to N-Length(S) do Write(f3,' ');
  WriteLn(f3,S);
  For j:=1 to ((N-Length(S)) div 2) do Write(f1,' ');
  WriteLn(f1,S);
 Until EoF(f2);
 Close(f1);
 Close(f2);
 Close(f3);
END.
Результат:
Код:
Гнев, богиня, воспой Ахиллеса, Пелеева сына, Грозный, который ахеянам
тысячи бедствий соделал: Многие души могучие славных героев низринул В
    мрачный Аид и самих распростер их в корысть плотоядным Птицам
    окрестным и псам (совершалася Зевсова воля), С оного дня, как,
   воздвигшие спор, воспылали враждою Пастырь народов Атрид и герой
     Ахиллес благородный. Кто ж от богов бессмертных подвиг их к
                          враждебному спору?
Vladimir_S вне форума   Ответить с цитированием
Старый 27.03.2011, 22:16   #20 (permalink)
RadMan
Member
 
Регистрация: 20.03.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо))
RadMan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:35.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.