Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
35 / 9 / 2
Регистрация: 18.05.2010
Сообщений: 97
1

Преобразовать последовательность, удалив все символы, не являющиеся буквами и цифрами

15.06.2010, 19:38. Просмотров 1093. Ответов 9
Метки нет (Все метки)


здравствуйте, попалась мне задачка ваще подстава-подстав по символьному типу:

Даны символы S1,S2,... Известно, что символ S1 отличен от пробела
и что среди S2,S3... имеется хотя бы один пробел.
Рассматриваются S1,...,Sn - символы, предшествующие первому пробелу
(n заранее неизвестно). Преобразовать последовательность S1,...,Sn,
удалив все символы, не являющиеся буквами и цифрами, и
заменив каждую большую букву одноименной малой.

все что смог по ней сделать это:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var n:char;
    s1,s2,s3,sn:string;
begin
  readln(s1,n);
  while s1<>' ' do
    begin
      if (s1>='A')and(s1<='Z') then s1:=LowerCase(s1);
      if (n>='!')and(n<='/')or(s1>='!')and(s1<='/')or(s2>='!')and(s2<='/')or
      (s3>='!')and(s3<='/')then writeln(s1);
      read(s1);
    end;
  readln;
  readln;
end.
программа зацикливается и не выводит ответ. прошу помогите кто чем может
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2010, 19:38
Ответы с готовыми решениями:

Преобразовать последовательность S1,...,Sn , удалив все символы, не являющиеся буквами или цифрами
Даны натуральное число n, символы S1,...,Sn. Преобразовать последовательность S1,...,Sn , удалив...

Преобразовать строку, удалив все символы, не являющиеся буквами или цифрами
есть задача: дана текстовая строка, состоящая из букв и цифр. Преобразовать строку, удалив все...

Преобразовать строку, удалив из неё все символы, не являющиеся буквами или цифрами
Дана строка символов. Преобразовать строку, удалив из неё все символы, не являющиеся буквами или...

Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами
Дана строка символов. Преобразовать строку, удалив из нее все символы, не являющиеся буквами или...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
9
Автор FAQ
Автор FAQ
199 / 198 / 21
Регистрация: 11.06.2010
Сообщений: 1,024
15.06.2010, 20:00 2
а ты на делфи делаешь или на паскале?
0
50 / 50 / 9
Регистрация: 10.03.2010
Сообщений: 180
15.06.2010, 20:01 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Компилировать не пробовал
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var 
    s:string;
begin
  readln(s,n);
  for i := 1 to length(s) do
  begin
     if s[i] = ' ' then exit;
     if (s[i] in 'A'..'Z') then s[i] := LowerCase(s[i])
     else if not(s[i] in '0'..'9') then delete(s, i, 1)
  end;
  readln;
end;
1
35 / 9 / 2
Регистрация: 18.05.2010
Сообщений: 97
15.06.2010, 20:09  [ТС] 4
эммм, у нас препод дибилоид по этому задает задачу по теме. эта по символьному и кроме символьного типа, цикла, условия и простейших действий ничего нельзя использовать((( но спасибо за идею, сейчас буду переделывать. если сможешь что-то исправить в рамках которые я сказал буду очень, очень благодарен.

Добавлено через 4 минуты
REALIST07, программировать заставляют на делфи 6
0
50 / 50 / 9
Регистрация: 10.03.2010
Сообщений: 180
15.06.2010, 20:29 5
Bionic4656, а что в коде препода не устраивает?
0
35 / 9 / 2
Регистрация: 18.05.2010
Сообщений: 97
15.06.2010, 20:35  [ТС] 6
этот код составлял я, дело в том что программа не вывод ответ и причем еще зацикливается(не выходит). за сделанный тобой код спасибо, но он меня сгрызет за функции length, exit, if not потому что мы не проходили этого. мне как бы просто нужно мой код переделать так чтобы программа выводила то что мы ввели в переделанном виде(если есть A...Z то вместо них нужно вывести a...z и не чтобы не выводились другие символы кроме букв латинского алфавита и цифр от 0 до 9). вот этого я не могу сделать тупо не понимаю как. я к преподу подходил, он посмотрел....сказал: ну тут думать тебе надо. О_о и все больше ничего
0
50 / 50 / 9
Регистрация: 10.03.2010
Сообщений: 180
15.06.2010, 21:13 7
А со строками вы работали?
0
35 / 9 / 2
Регистрация: 18.05.2010
Сообщений: 97
15.06.2010, 21:16  [ТС] 8
к сожалению нет, только циклы, условный оператор, простейшие, символьный тип, перечисляемый(его нельзя использовать потому что его мы последнего проходили а можно использовать в программе те функции которые либо мы прошли либо которые проходили)
0
50 / 50 / 9
Регистрация: 10.03.2010
Сообщений: 180
15.06.2010, 23:34 9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Bionic4656 Посмотреть сообщение
s1,s2,s3,sn:string;
А как ты тогда использовал строки в своем коде?
Можно какой-то такой бред написать (не уверен что работает)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var ch: char;
begin
  repeat
    readln(ch);
    if (ch >= 'A') and (ch <='Z') then
    begin   
      ch := LowerCase(ch);
      writeln(ch);
    end
    else if (ch>='0') and (ch <='9') then writeln(ch);
  until (ch = ' ');
end;
или такой...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var ch: array[1..100] of char;//массив символов
     i, j: byte;//счетчики
begin
i := 0;
repeat//считываем символы до пробела
  i := i + 1;
  readln(ch[i]);
until (ch[i] = ' ') or (i = 100);
writeln('Новая последовательность');
for j := 1 to i do//проверяем какие символы выводить на экран
    if (ch[j] >= 'A') and (ch[j] <='Z') then
    begin   
      ch[j] := LowerCase(ch[j]);
      write(ch[j]);
    end
    else if (ch[j]>='0') and (ch[j] <='9') then write(ch[j]);
end;
1
35 / 9 / 2
Регистрация: 18.05.2010
Сообщений: 97
16.06.2010, 04:40  [ТС] 10
спасибо большое за идею и за потраченное время, были бы такие люди всегда бескорыстные и добрые
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2010, 04:40

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами
1. Дана строка символов. Преобразовать строку, удалив из нее все символы, не являющиеся буквами...

Обработка строк. Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами
Дана строка символов. Преобразовать строку, удалив из нее все символы, не являющиеся буквами или...

Преобразовать последовательность, удалив из неё символы, не являющиеся буквами
Здравствуйте! Помогите пожалуйста решить задачу. То есть вводим текст с цифрами, знаками...

Преобразовать строку символов, удалив из нее все символы, не являющиеся буквами
доброе время суток,Уважаемые знатоки...собственно вопрос вот в чем:Дана строка символов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.