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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 19:18   #1
Volk_xD
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 25
По умолчанию Работа со строками (Pascal)

Всем привет) Вот, собственно, задачи:
1)Задана строка. Удалить из нее два последних символа.
2)Найти в списке из 5 фамилий все фамилии, начинающиеся со слога «Ни». (Получилось только сделать поиск по первой букве, чтобы искать по слогу надо склеить эти буквы или что? - Таким способом работает некорректно).
3)Из заданного текста выбрать цифры и записать в массив N, а буквы - в массив B. Все остальные символы записать в массив S. (Так понял, здесь работа с кодировкой ASCII, но каким образом эту программу осуществить - ?)
Заранее спасибо.
Volk_xD вне форума Ответить с цитированием
Старый 16.12.2010, 19:38   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
Задана строка. Удалить из нее два последних символа.
Код:
Var
  St:String;
  I:Byte;
Begin
  Readln(St);
  Delete(St,Length(St)-1,2);
  Writeln(st);
  Readln
End.
По остальным задачам показывайте наработки
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 16.12.2010, 19:56   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,082
По умолчанию

Ну или (к первому заданию)
stroka:=Copy(stroka,1,Length(stroka )-2);
Noor вне форума Ответить с цитированием
Старый 16.12.2010, 21:10   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

2)
Код:
for i:=1 to 5 do
if copy(spis[i],1,2)='Ни' then writeln (spis[i]);
3)
Код:
for i:=1 to length(tex) do begin
if tex[i] in('0'..'9') then n:=n+tex[i] else
if tex[i] in ('a'..'z','A'..'Z') then b:=b+tex[i] else
s:=s+tex[i];
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 17.12.2010, 16:48   #5
Volk_xD
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 25
По умолчанию

Mad_Cat, GetMax и Noor - спасибо!
Вопрос к Мэд_Кэт: по з-й задаче - переменные n, b и s объявляем как массив или просто типа string? И вводимый с клавиатуры текст должен быть строкой или может быть массивом текстовых данных?
Volk_xD вне форума Ответить с цитированием
Старый 17.12.2010, 17:55   #6
Volk_xD
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 25
По умолчанию

Вот что получается, но выдаёт ошибку:
Код:
Program Str_1;
Uses crt;
Var
n,b,s: string;
  tex:String;
  I:Byte;
Begin
clrscr;
Writeln ('VVedite stroku->');
  Readln(tex);
for i:=1 to length(tex) do begin
if tex[i] in ('0'..'9') then n:=n+tex[i] else
if tex[i] in ('a'..'z','A'..'Z') then b:=b+tex[i] else
s:=s+tex[i];
end;
Writeln ('Rezultat:');
Writeln(n);
Writeln(b);
Writeln(s);
  Readln
End.

Последний раз редактировалось Volk_xD; 17.12.2010 в 18:52.
Volk_xD вне форума Ответить с цитированием
Старый 17.12.2010, 19:08   #7
Volk_xD
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 25
По умолчанию

up
Volk_xD вне форума Ответить с цитированием
Старый 17.12.2010, 19:39   #8
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Код:

Program Str_1;
Var
n,b,s: string;
  tex:String;
  I:Byte;
  ch: integer;
Begin
Writeln ('VVedite stroku->');
  Readln(tex);
for i:=1 to length(tex) do begin
  ch := Ord(tex[i]);
  if (ch>47) and (ch<58) then n:=n+tex[i] 
  else
    if ((ch>64) and (ch<91)) or ((ch>96) and (ch<123)) then b:=b+tex[i] 
    else
      s:=s+tex[i];
  end;

  Writeln ('Rezultat:');
  Writeln(n);
  Writeln(b);
  Writeln(s);
  
End.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 17.12.2010, 20:06   #9
Volk_xD
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 25
По умолчанию

Большое спасибо
Volk_xD вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Работа со строками. lisenog Помощь студентам 1 16.12.2010 15:56
Работа со строками. Pascal zevs116 Помощь студентам 1 19.11.2010 20:54
Работа со строками (Pascal) SmileGirl Помощь студентам 4 22.10.2010 01:17
Работа со строками (pascal) Marlin Помощь студентам 7 03.06.2010 14:11
Работа со строками (Pascal) RoMaNyIL Помощь студентам 2 21.05.2009 20:39