Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Контроль регистра букв 
:(
    Опции темы
stat007
Дата 27.4.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



Ребят в чём ошибка в моём коде? Он делает только из верхнего регистра в нижний, а нужно что бы оба выполнял.
Код

#include<iostream>
#include <string>
using namespace std;
int main()
{
  string s;
    cout<<"Enter string: "<<endl;
    getline(cin,s); 
  for(int i = 0;i < s.length(); i++)
   {
      for(int j = 0;j < s.length(); j++)
   {
    s[i] = toupper(s[i]);
    s[j] = tolower(s[j]);
   }
  }
  cout<<s<<endl;
  return 0;
} 

PM MAIL   Вверх
azesmcar
Дата 27.4.2009, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



stat007

Не понял что нужно..ты его переделываешь в uppercase, а потом в lowercase. 
Код

#include<iostream>
#include <string>
using namespace std;
int main()
{
    string s;
    cout<<"Enter string: ";
    getline(cin,s); 
    for(int i = 0;i < s.length(); i++)
    {
        for(int j = 0;j < s.length(); j++)
        {
            s[i] = toupper(s[i]);
            //s[j] = tolower(s[j]);
        }
    }
    cout<<s<<endl;
    return 0;
} 

вот так проверь, будет верхний регистр..

а что конкретно нужно то?

PM   Вверх
zim22
Дата 27.4.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Код

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
  string s;
  cout << "Enter string: " << endl;
  getline(cin, s);
  transform(s.begin(), s.end(), s.begin(), toupper);
  cout << s << endl;
  transform(s.begin(), s.end(), s.begin(), tolower);
  cout << s << endl;
  
  return 0;
} 



--------------------
PM MAIL   Вверх
stat007
Дата 27.4.2009, 22:00 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



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

Enter string:
AsAsaSaS

Чтобы вывод был такой:
aSaSAsAs


PM MAIL   Вверх
Acer
Дата 27.4.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: нет
Всего: 8



Вот табличка. Unicode table
Можно взять и сравнить символы.
PM MAIL   Вверх
azesmcar
Дата 27.4.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Код

#include <iostream>
#include <string>
#include <algorithm>
#include <functional>

using namespace std;

struct upper_reverse: std::unary_function<char, char>
{
    char operator () (char r) {
        if ( toupper( r ) == r )
            return tolower( r );
        return toupper( r );
    }
};

int main()
{
    string s;
    cout << "Enter string: " << endl;
    getline(cin, s);
    transform(s.begin(), s.end(), s.begin(), upper_reverse());
    cout << s << endl;

    return 0;
} 


Добавлено через 2 минуты и 15 секунд
Acer

Извращенец smile 
PM   Вверх
Rififi
Дата 27.4.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



Acer, 
Вот табличка. Unicode table
Можно взять и сравнить символы. 

я попробовал, не катит.
wchar_t table[65535] =
{
...
};
после 1739 символа пальцы устали код набивать ): 
PM MAIL   Вверх
Acer
Дата 28.4.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: нет
Всего: 8



Rififi, я думал, что нужно только для латиницы... 

Это сообщение отредактировал(а) Acer - 28.4.2009, 09:14
PM MAIL   Вверх
stat007
Дата 29.4.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -2
Всего: -4



azesmcar, Отлично, то что надо! smile  спс  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0715 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.