Форум программистов, компьютерный форум CyberForum.ru

Cтроки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
DrugDog
Сообщений: n/a
25.04.2010, 12:16     Cтроки #1
Люди, пожалуйста, кто чем может помогите. Тут тема "Cтроки"

Задача 1 «Калькулятор»
В первой строке записано арифметическое выражение в виде: <число> <операция> <число> =
Число - это натуральное число, не превышающее 10000. <операция> - один из знаков +, -, *

В начале строки, в конце строки, а также между числами и знаком операции, числом и = может быть любое число пробелов (а может пробелов и не быть). Гарантируется, что длина строки не превышает 200 символов.

Задача 2 «Считалка»

На входе две строки. Посчитайте, сколько раз первая строка встречается в качестве подстроки во второй.
Длина каждой из строк не превышает 255 символов.


Задача 3 «Статистика»

Задан текст. Напишите программу, которая посчитает статистику - сколько раз встречается буква A, сколько - B и т.д. При этом большие и маленькие латинские буквы считать одинаковыми.

Входные данные

На входе могут быть сколь угодно длинные строки. Текст, состоит из английских букв (больших и маленьких), знаков препинания, цифр и т.д.

Выходные данные

Вывести 26 строк. Каждая строка должна соответствовать латинской букве, буквы должны идти в алфавитном порядке. Каждая строка должна содержать сначала большую латинскую букву, которой она соответствует, пробел, символ - (тире), пробел и число: сколько раз буква встречается во входном файле.


Задача 4"Распаковка строчки"

Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений.
Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем упаковкой строки.

Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.

Входные данные


Одна упакованная строка. В строке могут встречаться только конструкции вида nA, где n - количество повторений символа (целое число от 2 до 99), а A - заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.

Выходные данные

Выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).


Задача 5"Реформа Евросоюза "

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

Первоочередной задачей будет избавление от буквы c, которая в сочетаниях сi и сe будет изменяться на s, в сочетании ck — опускаться, а в остальных случаях заменяться на k. При этом все замены будут производиться в строгом порядке слева направо. То есть, например, в слове success сначала первая из двух букв c заменится на k, а затем вторая — на s, то есть получится suksess. А слово cck превратится в kk.

На второй год из английских слов изымут все удвоенные буквы: ee изменят на i, oo - на u, a в остальных комбинациях будут просто писать одну букву вместо двух одинаковых. Такие замены также будут делать строго в порядке слева направо. Так, слово ooo превратится в uo, а oou — просто в u (в нем сначала oo заменится на u, а затем uu — на u), слово iee превратится в i (в нем сначала ee заменится на i, а затем ii — на i).

На третий год на конце слова станут опускать букву е, если эта буква не является единственной буквой в слове.

Наконец, завершением реформы станет отмена артиклей (в английском языке три артикля: а, an и the). При этом удаляться эти артикли будут только тогда, когда они в исходном тексте были словами a, an, the.

То есть, например, текст the table после реформ первых трех лет превратиться в th tabl, а после реформы четвертого года — просто в tabl. А слово aaaaa после реформы первых лет станет словом a, но поскольку изначально оно не было словом a (артиклем), то оно в итоге так и останется словом a.

Напишите программу, которая будет переводить классический английский текст на Eвроинглиш.

Входные данные
Одна строка текста, состоящая не более чем из 200 символов: латинских строчных и заглавных букв, пробелов и знаков препинания (в тексте могут встречаться: точка, запятая, вопросительный и восклицательный знаки, двоеточие, тире, точка с запятой, открывающаяся и закрывающаяся скобки, апострофы, кавычки). Заглавные буквы могут встречаться только в начале слова. Нигде подряд не могут стоять два пробела. В начале и в конце строки не может стоять пробел. Слова отделяются друг от друга пробелами и/или знаками препинания.

Выходные данные
Нужно выдать преобразованную строку с учетом следующих требований:
• начинаться с заглавной буквы должны те и только те слова, которые начинались с заглавной буквы в исходном тексте;
• не должно встречаться двух пробелов подряд;
• пробелы между словами и знаками препинания должны остаться там и только там, где они были в исходной строке, в начале и в конце строки пробелов быть не должно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2010, 12:16     Cтроки
Посмотрите здесь:

C++ Cтроки и массив.
cтроки и фаилы C++
cтроки C++
C++ Cтроки
Cтроки. 2 программы C++
Cтроки C++
C++ Cтроки
C++ [C++] Cтроки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zinaida
 Аватар для Zinaida
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 11
21.04.2012, 13:09     Cтроки #2
незнаю, поможет это тебе или нет, но 2 задача у меня есть, но только на Delphi(7)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program n2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
 
var ps,s: string;
    i,k: byte;
begin
readln(ps);
readln(s);
for i:=1 to length(s)-length(ps)+1 do
    if copy(s,i,length(ps))=ps then inc(k);
write(k);
readln
end.

Есть первая

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
i,l,a1,b1,otv,code:integer;
a,b,s:string;
begin
a:='';
read(s);
l:=pos('*',s) or pos('-',s) or pos('+',s);
for i:=1 to l-1 do
if (s[i]in ['0'..'9']) then
a:=a+s[i];
for i:=l+1 to length(s) do
if (s[i]in ['0'..'9']) then
b:=b+s[i];
val(a,a1,code);
val(b,b1,code);
case s[l] of
'+':otv:=a1+b1;
'-':otv:=a1-b1;
'*':otv:=a1*b1;
end;
writeln(otv); 
readln; 
end.
Вот, собственно и все, что я знаю об этих задачах.
Удачи))
Yandex
Объявления
21.04.2012, 13:09     Cтроки
Ответ Создать тему
Опции темы

Текущее время: 12:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru