строковая переменная это



Автор Андрей задал вопрос в разделе Другие языки и технологии

Строковые переменные (Паскаль).Подскажите пожалуйста и получил лучший ответ

Ответ от Krab Вark[гуру]
var i:integer; Str:string;
begin
Writeln('Введите текст'); Readln(Str); i:=0;
repeat
inc(i); if Str[ i]='.' then begin insert('..',Str,i); i:=i+2 end;
if Str[ i] ='!' then Str[ i]:='.';
until i=length(Str));
writeLn(str); readln
end.

Ответ от Ѐоман Малиновский[гуру]
я так понимаю у тебя если точка в середине то он в этом месте дофига точек ставит?
вот сматри какая фигня получается, ты вставляешь раз 3 точки заместо одной, длинна строки увеличивается, а все символы которые находятся после точки сдвигаютя, т. е их индекс меняется.
допустим было
123.123
точка находится под индексом i = 4
потом проход цикла при i = 4 становится
123...123
затем, следующий проход, i = 5, он опять видит точку и тд
в этом причина

Ответ от ИГОРЬ[гуру]
Чет мне не понятно как у тебя конструкция if (Str ='.') работает? ?
я понимаю if(Str = '.') т. е. сравнение символа (элемента массива) с символом ТОЧКА
а как ты строку с точкой сравниваешь я понять не могу!

Роман Малиновский прав! Учитывай смещение после вставки 3-х точек!

Ответ от Александр Ерофеев[гуру]
писал в блокноте и не проверял так что могут быть ошибки

var n,i:integer;
S1:string[3];
Str:string;
begin
Writeln('Введите текст'); Read(Str);

{Для А}
for i := 1 to Length(Str) do
begin
if (Str ='!') then begin Str:= '.';
end;
writeLn(str);

{Для Б}
i:=0;
n:=length(str);
while i<>n do
begin
if(str='.') then
begin
delete(str,i,1);
insert(str,'...',i);
n:=n+2;
i:=i+1;
end;
end;
writeLn(str);
end.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Строковые переменные (Паскаль).Подскажите пожалуйста
спросили в Паскаль
функция ORD на паскале плизз напишите что она делает... и если можно то подробнее....и если можно то подробнее...
Код символа в Паскале можно определить при помощи функции Ord.

Ее формат: Ord(C), где С -
подробнее...
спросили в Word
Pascal тип данных word
Тип данных word - это целочисленный тип длиной в 2 байта. К строковым переменным отношения не
подробнее...

Помогите, пожалуйста с задачей по программированию.
Вводим число
Число преобразуем в строку

берем от этой строковой переменной
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Randomness
Из массива в строку
Ну может поэлементно можно. Пусть есть строковая переменная "текст" Берём массив
мас [н] ,
подробнее...

Что такое массив. Что такое массив в программировании. Объясните / дайте пример.
Массив - это набор одинаковых данных, расположенных в переменных, пронумерованных индексами.подробнее...

ЧТО ТАКОЕ "?
" (еще точка с запятой на конце) знак кавычки. собственно кавычки используются для
подробнее...
спросили в Техника
scanf и printf приемущества и недостатки
В каком смысле преимущества и недостатки? По сравнению друг с другом или по сравнению с другими
подробнее...
спросили в Другое
Касравнить 2 колонки в Excel и выбрать несовпадающие значения
Инструкция
1

Воспользуйтесь встроенной функцией сравнения ячеек СЧЁТЕСЛИ, если надо
подробнее...
спросили в Vertigo
VORTEX?
Vortex (досл. ВОДОВОРОТ) - свободный поток воздуха внутри компрессора.

VORTEX - система
подробнее...
спросили в Type Moon
как сделать чтобы при нажатии на кнопку выводился заданный текст в Delphi. хелп
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Текст сообшения');подробнее...

Пожалуйста, объясните каждую строчку действий в паскале:
Var - раздел переменных, здесь мы объявляем какие переменные каких типов у нас будут
подробнее...

помогите по pascal
1. Оператор условия. Если выполняется некоторое условие, то выполняем одно действие; иначе
подробнее...
Супергеройское кино на Википедии
Посмотрите статью на википедии про Супергеройское кино
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*