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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2011, 22:53   #1
l0lo
Новичок
Джуниор
 
Регистрация: 24.12.2011
Сообщений: 5
По умолчанию символьная строка

Дана символьная строка.Написать программу, которая оставляет в исходной строке латинские буквы. Обработку строки оформить в виде функции, ввод и вывод данных - в основной программе.



тут непонятно как оставить все буквы.
выделять какие то по отдельности умею но не перечислять же их всех.
l0lo вне форума Ответить с цитированием
Старый 24.12.2011, 22:54   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Старый 24.12.2011, 23:00   #3
l0lo
Новичок
Джуниор
 
Регистрация: 24.12.2011
Сообщений: 5
По умолчанию

Код:
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
string str(string);
int main()
{
printf("vvedite stroku:\n");
string s;
cin>>s;
printf("izmenennaya stroka:\n ");
cout<<str(s);
system ("PAUSE");
return 0;
}

string str(string s)
{
string s1;
for(int i=0; i!=s.length();i++)
{
if(s[i]=='а'|| s[i]=='b' || s[i]=='c'|| s[i]=='d' || s[i]=='e')
s1+=s[i];


}
return s1;

}

вот программа которая выделяет отдельные буквы но не все же латинские буквы перечислять, как сделать это легче?
l0lo вне форума Ответить с цитированием
Старый 24.12.2011, 23:15   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от l0lo Посмотреть сообщение
вот программа которая выделяет отдельные буквы но не все же латинские буквы перечислять, как сделать это легче?
Посмотреть в сторону кодов символов:

Код:
    //коды символов от A до Z: 65-90
    //коды символов от a до z: 97-122

    //коды символов от А до П: -128 -113
    //коды символов от Р до я: -112 -97

    //коды символов от а до п: -96 -81
    //кода символов от р до я: -32 -17
    //Ё -16 ё -15
    //48-57 - числа от 0 до 9
    //46 - код символа '.'
    //45 - код символа '-'
Исследуя код символа можно определить: является ли он русской буквой, или английской. Строчной, или прописной, цыфрой, точкой, или знаком "-", ну и тд.

Этого достаточно для топорного анализа любой литерной последовательности.
_Bers вне форума Ответить с цитированием
Старый 24.12.2011, 23:30   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Посмотреть в сторону кодов символов:
не совсем, в С++ символьный литерал из одного символа имеет тип char(или int, не помню).
итого для маленьких прописных выйдет:
Код:
if(s[i]>'a' && s[i]<'z')
PS: _Bers, то какая кодировка?
---добавлено---
а все понял, 866, в знаковых числах.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 24.12.2011 в 23:36.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана символьная строка и символ. OoDarK Помощь студентам 8 22.12.2011 22:07
символьная матрица as1212 Помощь студентам 3 12.11.2011 20:39
Символьная строка содержит слова, разделенные пробелами. Найти все слова-палиндромы (Паскаль) sashunechka Помощь студентам 4 18.05.2011 21:45
Символьная на С Max3 Помощь студентам 1 16.05.2010 20:47
Символьная строка.(язык C) Иван_Секретарев Помощь студентам 0 18.12.2009 23:07