Новые сообщения · Правила  
Страница 1 из 11
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » Составить подпрограмму
Составить подпрограмму
Составить подпрограмму,переписывающую старую строку в новую,так чтобы все символы были через пробе
1 | Автор: newsk | 2012-01-22, 13:49   |  Репутация: [ + 0 ]
Если код на Паскале устроит:

Var
s:string;
i:word;
begin
readln(s);
for i:=1 to length(s) do
write(s[i],' ');
end.


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2012-01-31, 18:34   |  Репутация: [ + 211 ]
Общий алгоритм решения:
Нужно создать строку (2) из пробелов той же длины, что и начальная строка (1).
После этого создаём пустую строку (3),
в которую в цикле по очереди записываем по одному символу из строки (1) и (2).

Добавлено (31.01.12, 18:45)
---------------------------------------------

Quote (Berestovskiy)
write(s[i],' ');

Это будет простой вывод на экран.
Я так понимаю, что нужен реальный исходный объект - строка с пробелами(удвоенная)...

Добавлено (31.01.12, 18:50)
---------------------------------------------
Var
s,s1:string;
i:word;
begin
readln(s);
s1:='';
for i:=1 to length(s) do
s1:=s[i]+' ';
write(s1);
end.

такой вариант является компромисным и создаёт реальный объект удвоенного размера.

3 | Автор: aufgeklärt | 2012-01-31, 18:50   |  Репутация: [ + 3 ]
3 | Автор: aufgeklärt | 2012-01-31, 18:50   |  Репутация: [ + 3 ]
Quote (aufgeklärt)
for i:=1 to length(s) do
s1:=s[i]+' ';


Уверен что скомпилируется?


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2012-02-01, 02:38   |  Репутация: [ + 211 ]
Quote (Berestovskiy)
Уверен что скомпилируется?


Уверена, т.к. это обычная конкатенация строк (если мы говорим о Паскале) и все типы данных приведены.
5 | Автор: aufgeklärt | 2012-02-01, 16:35   |  Репутация: [ + 3 ]
Quote (aufgeklärt)
Var
s,s1:string;
i:word;
begin
readln(s);
s1:='';
for i:=1 to length(s) do
s1:=s[i]+' ';
write(s1);
end.


Запустил - ввожу строку, выдаёт только последний элемент введённой строки с пробелом.


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2012-02-01, 17:04   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2012-02-01, 17:04   |  Репутация: [ + 211 ]
Проблема с которой я столкнулся - это увеличение длинны второй строки в двое относительно первой.
До длинны первой строки - всё работает у меня..


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
7 | Автор: Berestovskiy | 2012-02-01, 17:41   |  Репутация: [ + 211 ]
Quote (Berestovskiy)
s1:=s[i]+' ';

Quote (Berestovskiy)
только последний элемент введённой строки с пробелом


)))))))))))))
АААААААААа, Блин, такое упущение

строку нужно объединять с предыдущим куском каждый раз.

s1:=s1+s[i]+' ';

теперь уж точно всё ОК!!!!
8 | Автор: aufgeklärt | 2012-02-02, 21:28   |  Репутация: [ + 3 ]
Завтра тестану)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
9 | Автор: Berestovskiy | 2012-02-03, 00:49   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » Составить подпрограмму
Страница 1 из 11
Поиск: