Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2009, 14:37   #1
Mihael-Vlz
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 12
По умолчанию Строковый тип данных

Помогите написать программу:

Строковый тип данных. Матрица:
Дан массив из 10-ти строк. Преобразовать каждую строку следующим образом: удалить все буквы 'z'; после каждой буквы 'k' вставить '**'.

Заранее благодарен.
Mihael-Vlz вне форума Ответить с цитированием
Старый 23.04.2009, 14:42   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

В чем проблема? Что непонятно?
Предоставьте свои наработки.
Вам помогут delete и insert.
Кстати, при чем тут матрица?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 16:13   #3
Mihael-Vlz
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 12
По умолчанию

Код:
program test;
var s:array [1..20] of string;
    s1: string;
    i,j,n,k: integer;
begin
n:=10;
for i:=1 to n do
begin
write('stroka #',i);
readln(s[i]);
end;
for i:=1 to n do
begin
while pos('z',s[i]) <> 0 do
delete(s[i],pos('z',s[i]),1);
end;
writeln('izmen stroka: ',s[i]);
readln;
end.
Отображает только последнюю обработанную строку. В чём дело то?
А как вывести их все?
Mihael-Vlz вне форума Ответить с цитированием
Старый 23.04.2009, 16:17   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Отображает только последнюю обработанную строку. В чём дело то?
У вас
Код:
writeln('izmen stroka: ',s[i]);
вне цикла. Засуньте ее туда.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 16:35   #5
Mihael-Vlz
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 12
По умолчанию

Цитата:
после каждой буквы 'k' вставить '**'
а как теперь можно это осуществить?
Mihael-Vlz вне форума Ответить с цитированием
Старый 23.04.2009, 16:41   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот вам весь цикл:
Код:
for i:=1 to n do
 begin
 while pos('z',s[i]) <> 0 do
  delete(s[i],pos('z',s[i]),1);
 k := 1;
 while k<=length(s[i]) do
  begin
  j := pos('k',copy(s[i],k,length(s[i])));
  if j=0 then break;
  insert('**',s[i],k+j);
  k := k+j;
  end;

 writeln('izmen stroka: ',s[i]);
 end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 16:59   #7
Mihael-Vlz
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 12
По умолчанию

Цитата:
if j=0 then break;
первый раз встречаюсь с данной коммандой
а для чего она служит?
Mihael-Vlz вне форума Ответить с цитированием
Старый 23.04.2009, 17:01   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
первый раз встречаюсь с данной коммандой
а для чего она служит?
Выход из цикла. Вам обязательно нужно знать эту команду.
Также посмотрите команду continue - тоже полезная штука.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строковый тип данных. Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2009 21:05
Задачка на тему Строковый тип данных DJ Kost Помощь студентам 8 24.11.2008 15:53
Помогите решить задачу в паскале на строковый тип valis Помощь студентам 3 29.09.2008 14:54
символьный и строковый тип. ribka Помощь студентам 4 02.12.2007 13:25