Помогите пожалуйста решить 2 задачки
1. Текст задан строкой. Напечатать все арифметические операции не входящие в текст
2. Дана строка-предложение на русском языке. Зашифровать ее, выполнив циклическую замену каждой буквы на следующую за ней в алфавите и сохраняя при этом регистр букв ("А" перейдет в "Б", "а" — в "б", "Б" — в "В", "я" — в "а" и т. д.) . Букву "ё" в алфавите не учитывать ("е" должна переходить в "ж"). Знаки препинания и пробелы не изменять.
Другие языки программирования и технологии
Множество. ЯП делфи 7
var
t, o: string;
c: integer;
s: set of char;
begin
o := '+-*/';
s := [];
write('text? ');
readln(t);
for c := 1 to length(t) do s := s + [t[c]];
for c := 1 to length(o) do if not (o[c] in s) then writeln(o[c]);
end.
t, o: string;
c: integer;
s: set of char;
begin
o := '+-*/';
s := [];
write('text? ');
readln(t);
for c := 1 to length(t) do s := s + [t[c]];
for c := 1 to length(o) do if not (o[c] in s) then writeln(o[c]);
end.
a:='+-*/';
readln(s);
k:=1;
wile k<=length(s) do
if pos(a[k], s)<>0 then
delete(a,k)
else
inc(k);
writeln(a);
readln(s);
k:=1;
wile k<=length(s) do
if pos(a[k], s)<>0 then
delete(a,k)
else
inc(k);
writeln(a);
Вы шутите? ))
1. не совсем понял условие, но.. . создаём массив арифметических знаков, потому функцией pos ищем каждый из них в строке, а те, которые не находим - выводим
2. создаём строку "А-ЯАа-яа", сами монимаете дефис значит от а до я, а потом ещё а (что бы зациклить) . А потом берём каждый символ строки и функцией pos ищем его в созданной нами строке. Если находим, то берём вместо него пишем следующий по счёту иначе пишем взятый символ (то есть, если не нашли - то и менять не надо) .
Итак, задачи ничего общего с множествами не имеют, а вторую с помощью множеств решить не возможно (по той причине, что в множествах нету порядка следования.. . в множестве можно проверить ТОЛЬКО присутствие и отсутствие элемента) .
Решение писать принципиально не буду, так как задача школьная (по крайней мере по уровню сложности).
1. не совсем понял условие, но.. . создаём массив арифметических знаков, потому функцией pos ищем каждый из них в строке, а те, которые не находим - выводим
2. создаём строку "А-ЯАа-яа", сами монимаете дефис значит от а до я, а потом ещё а (что бы зациклить) . А потом берём каждый символ строки и функцией pos ищем его в созданной нами строке. Если находим, то берём вместо него пишем следующий по счёту иначе пишем взятый символ (то есть, если не нашли - то и менять не надо) .
Итак, задачи ничего общего с множествами не имеют, а вторую с помощью множеств решить не возможно (по той причине, что в множествах нету порядка следования.. . в множестве можно проверить ТОЛЬКО присутствие и отсутствие элемента) .
Решение писать принципиально не буду, так как задача школьная (по крайней мере по уровню сложности).
Alex Krot
спасибо)
Похожие вопросы
- Помогите написать очень простую прогу по программированию в Делфи 7
- Калькулятор в делфи 7
- Как сделать бегущую строку на делфи 7 ?
- Какой ЯП лучше в освоении? ASM или ЯП высокого уровня?
- Когда сделают карточки по ЯП? На каждый язык свои карточки, со схемами и рисунками логическими.
- надо решить задачку через делфи и паскаль)))
- Вопрос по делфи
- языки делфи и си
- Скажите сколько месяцев нужно изучать Делфи что бы написать программу вывода даты, дня недели и года в окно ?
- Первый ЯП
type
znak = ('+', '-', '*', '/')
var
s: set of znak;
k: znak;
c: integer;
begin
write('text? ');
readln(t);
s := ['+', '-', '*', '/'];
for c := 1 to length(t) do exclude(s, t[c]);
for k := Low(znak) to High(znak) do
if (not k in s) then write(k);
не проверял, но должно работать... возможно надо условие добавить типа if(t[c] in s) then exclude(s, t[c]) , но думаю без него тоже должно работать. Блин, как так можно, множества были придуманы, что бы ускорять работу (относительно обычных массивов и строк), а у Вас они её замедляют.