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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2014, 14:17   #1
DimasikP
 
Регистрация: 07.11.2014
Сообщений: 7
По умолчанию Массив строк

Собственно, сама программа, Дан массив строк, заменить все цифры находящиеся в првой половине строки на '*', а из второй половины удалить все '.'
Вот моя попытка, но выдает ошибку в строке Delete и пишет, что программа не завершена
Нужна помощь.
Код:
var a: array [1..10] of string;
n,i:Integer;
begin
Readln(n);
for i:= 1 to length(a) do
readln(a[i]);
for i:= 1 to length(a) do begin
if (i>= (length(a)/2)) and (a[i]>= ' . ') then delete (a,1,i);
if (i<=(length(a)/2)) and ((a[i]>= '0') or (a[i]<= '9')) then Insert (*,a,i);
end;
writeln(a[i]);
end.
Программа вроде бы не сложная, но мой уровень познания в строках очень низкий. Помогите

Последний раз редактировалось Stilet; 21.12.2014 в 15:26.
DimasikP вне форума Ответить с цитированием
Старый 21.12.2014, 14:45   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Дан массив строк
строк или символов?
Код:
delete (a[индекс_массива],1,i)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 21.12.2014, 15:32   #3
DimasikP
 
Регистрация: 07.11.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
строк или символов?
Код:
delete (a[индекс_массива],1,i)
Массив строк, а что?
DimasikP вне форума Ответить с цитированием
Старый 21.12.2014, 15:44   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

тогда циклов должно быть 2
1) по массиву
2) по строке

Код:
const Digits='01234567989';
      n=1;
var i,j:integer;
    S:array[1..n] of string;
    LS:integer;
begin
  for i:=1 to n do
    Readln(s[i]);
  For i:=1 to n do begin
    LS:=length(S[i]) div 2;
    for j:=1 to Ls do
      if pos(s[i][j],digits)<>0 then s[i][j]:='*';
    LS:=LS+1;
    while LS <=(Length(S[i])) do
      begin
        if s[i][LS]='.' then delete (s[i],Ls,1)
          else Ls:=Ls+1;
  end;
end;
for i:=1 to n do
writeln(s[i]);
end.
Цитата:
12jhg123132hghhh..ewrwerewrw.wer123
**jhg******hghhh.ewrwerewrwwer123
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 21.12.2014 в 15:53.
Mad_Cat вне форума Ответить с цитированием
Старый 21.12.2014, 15:49   #5
DimasikP
 
Регистрация: 07.11.2014
Сообщений: 7
По умолчанию

Попробовал чуть переделать программу. вот получилось
Код:
var a:array [1..5] of string;
n,i:Integer;
begin
Readln(n);
for i:= 1 to length(a) do
readln(a[i]);
for i:= 1 to length(a)div 2 do
if (a[i]>='0') and (a[i]<='9') then a[i]:='*';
for i:= length(a)div 2 to length(a) do
if a[i]='.' then delete (a[i],1,i);
writeln(a[i]);
end.
Но вроде я не то вывожу, с выводом проблема теперь
DimasikP вне форума Ответить с цитированием
Старый 21.12.2014, 15:49   #6
DimasikP
 
Регистрация: 07.11.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
тогда циклов должно быть 2
1) по массиву
2) по строке
Не увидел ваш комментарий, попробую сделать что-то
Спасибо.

Последний раз редактировалось DimasikP; 21.12.2014 в 15:55.
DimasikP вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать массив строк в массив чисел на C#? orfos Помощь студентам 4 03.10.2014 15:56
Дан массив строк текста, строка символов разделителей. Сформировать текст из строк, содержащих заданное слово. Отсортировать дестронг Помощь студентам 1 16.05.2014 08:48
Написать алгоритм, который реализует jagged массив (рваный массив с различной длиной строк), используя список списков (Pascal ABC) бабуся Помощь студентам 0 29.04.2013 00:07
массив строк. zhenya.ya Общие вопросы C/C++ 2 24.09.2010 00:14