Заблокирован
1

Выравнивание строки s справа к длине т

12.03.2015, 13:14. Показов 1874. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Right(s,m). Выравнивание строки s справа к длине т.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 13:14
Ответы с готовыми решениями:

Файлы. Выравнивание текста по макс.длине строки.
Задача: Выровнять правый край текста, добавляя необходимое количество пробелов, без переноса слов....

Выравнивание строки s слева к длине m
Выравнивание строки s слева к длине m. Left (s,m). C помощью функции.

Выравнивание строки s слева к длине m. Left (s,m)
Выравнивание строки s слева к длине m. Left (s,m). Кто поможет с кодом?

Файлы. Выравнивание текста по макс.длине строки
программа компилируется, но не работает как надо. не могу понять в чём проблема. программа должна:...

4
Эксперт Pascal/Delphi
2385 / 1297 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
12.03.2015, 13:53 2
Лучший ответ Сообщение было отмечено Vlad90 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
function right(s:string;m:integer):string;
var
   i:integer;
begin
  for i:=length(s) to m do s:=' '+s;
  right:=s;
end;
  begin
    writeln(right('выравнивание по правому краю',50));
end.
1
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
12.03.2015, 15:06 3
Цитата Сообщение от Joy Посмотреть сообщение
s:=' '+s;
Цитата Сообщение от Vlad90 Посмотреть сообщение
Выравнивание строки s справа
Pascal
1
s:=s+' ';
0
Эксперт Pascal/Delphi
2385 / 1297 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
12.03.2015, 16:15 4
APALoff, это по левому краю. А вот что имел ввиду ТС написав справа для меня не понятно.
0
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
12.03.2015, 20:11 5
Полагаю, это выравнивание строки по ширине путём вставки пробелов равномерно между словами, начиная вставку с конца строки (то есть, справа), пока длина строки не достигнет заданной. Можно сразу просчитать, сколько пробелов вставить в каждый промежуток между словами, а можно вставлять пробелы по одному в каждый промежуток. В программе реализовано последнее:
Pascal
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
const m = 20;
var s: string;
    i: integer;
    nospace: boolean;
begin
  writeln('Введите строку длиной < ', m, ' символов:');
  readln(s);
  while pos('  ', s) > 0 do delete(s, pos('  ', s), 1);
  if (length(s) > 0) and (s[length(s)] = ' ') then delete(s, length(s), 1);
  if (length(s) > 0) and (s[1] = ' ') then delete(s, 1, 1);
  if length(s) > m
    then writeln('Строка слишком длинная, форматирование невозможно.')
    else if length(s) = 0
      then writeln('Строка не содержит слов, форматирование невозможно')
      else begin
        nospace := true;
        repeat
          i := length(s);
          while i > 1 do
            if (s[i] = ' ') and (length(s) < m)
              then begin
                insert(' ', s, i);
                nospace := false;
                while s[i] = ' ' do dec(i)
              end
              else dec(i)
        until (length(s) = m) or nospace;
        if nospace
          then writeln('В строке одно слово, форматирование невозможно.')
          else begin
            writeln('Отформатированная строка:');
            writeln(s)
          end
      end;
  readln
end.
Длина строки задана константой m.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2015, 20:11
Помогаю со студенческими работами здесь

Выравнивание строки добавлением пробелов справа
Здравствуйте уважаемые форумчане ! во вьюехе &lt;%= tovar.title %&gt; &lt;%= tovar.price...

Переписать данные в новый файл, дополняя справа все его строки, меньшие по длине 80 символов
Решите пожалуйста! Дан текстовый файл. Переписать его содержимое в другой текстовый файл,...

Удалить среднюю букву при нечетной длине строки и две средние буквы при четной длине строки
Удалить среднюю букву при нечетной длине строки и две средние буквы при четной длине строки.

Выравнивание списка слева и справа
Здравствуйте, у меня на тестовом в записях сверху есть строка в которой отображается &quot;автор, дата,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru