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

Проверка на равенство буквы и элемента из массива - C++

Восстановить пароль Регистрация
 
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 319
08.08.2014, 14:21     Проверка на равенство буквы и элемента из массива #1
выдает ошибку

вот такая проблема инструкция
else if (A[i+1] == "й" || A[i+1] == "Й" )//дает ошибку 1 no conversion from 'const char *' to 'int'
//и ошибку 2 int' differs in levels of indirection from 'const char [2]'

где накосячил ?


C++
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
int transToL ( char * A) 
{
   int i = 0 ;
   char russian[] = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"  ;
   char english[] = "abcgdee ziyklmnoprstuf       'e  "  ;  
   char Russian[] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"  ;
   char English[] = "ABCGDEE ZIYKLMNOPRSTUF       'E  "  ;
    
char * TranslatedWord ;
 int l = static_cast<int>(strlen ( A)) ;
 
 for ( ; i< l ; i++ )
 {
   
   int j = 0 ;
   for ( ; j<33 ; j++ )
   {
       if ( A[i] == russian[j] || A[i] == Russian [j]) //no conversion from 'int' to 'char *'
       {
        //strcpy(TranslatedWord,A[j] ) ;
          
           if ( english[j]==" " || English[j]==" ")//no conversion from 'const char *' to 'int'
           {
                switch (russian[j]) 
                {
                    case 'Ж' : strcat(TranslatedWord,"ZH" ) ; break;
                    case 'ж' : strcat(TranslatedWord,"zh" ) ; break;
                    case 'Ц' : strcat(TranslatedWord,"TS" ) ; break;
              case 'ц' : strcat(TranslatedWord,"ts" ) ;  break ;
              case 'Ч' : strcat(TranslatedWord,"CH" ) ;  break ; 
              case 'ч' : strcat(TranslatedWord,"ch" ) ;  break ; 
              case 'Ш' : strcat(TranslatedWord,"SH" ) ;  break ; 
              case 'ш' : strcat(TranslatedWord,"sh" ) ;  break ;
              case 'Щ' : strcat(TranslatedWord,"SHCH" ) ; break ; 
              case 'щ' : strcat(TranslatedWord,"shch" ) ; break ;
              case 'Ъ' : strcat(TranslatedWord,"''" ) ;   break ;
              case 'ъ' : strcat(TranslatedWord,"''" ) ;   break ;
              case 'Ь' : strcat(TranslatedWord,"'" ) ;   break ;
              case 'ь' : strcat(TranslatedWord,"'" ) ;   break ;
              case 'Ю' : strcat(TranslatedWord,"YU" ) ;   break ;
              case 'ю' : strcat(TranslatedWord,"yu" ) ;   break ;
              case 'Я' : strcat(TranslatedWord,"YA" ) ;   break ;
              case 'я' : strcat(TranslatedWord,"ya" ) ;   break ;
 
 
                }
 
 
           }
       
           
        else if (A[i+1] == "й" || A[i+1] == "Й" )//no conversion from 'const char *' to 'int'
           {//int' differs in levels of indirection from 'const char [2]'
          
               
                  switch (A[i]) 
                {
               case 'А' : strcat(TranslatedWord,"Ay" ) ; break;
               case 'Е' : strcat(TranslatedWord,"EI" ) ; break;    
               case 'И' : strcat(TranslatedWord,"IY" ) ; break;
               case 'О' : strcat(TranslatedWord,"OY" ) ; break;
               case 'У' : strcat(TranslatedWord,"UY" ) ; break;
               case 'Ы' : strcat(TranslatedWord,"YY" ) ; break;
               case 'Э' : strcat(TranslatedWord,"EY" ) ; break;
               case 'Ю' : strcat(TranslatedWord,"YUY" ) ; break;
               case 'Я' : strcat(TranslatedWord,"YAY" ) ; break;
 
 
 
                }
 
           }
        else 
        {
                      strcat(TranslatedWord,english[j] ) ;
        }
 
       
       }
          
 
   }
      
 }
 
 strcpy(A,TranslatedWord) ;
 return 0 ;   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2014, 14:21     Проверка на равенство буквы и элемента из массива
Посмотрите здесь:

C++ Проверка элемента одномерного массива на нечетность, вычисление числа нечетных элементов
Проверка на повторный ввод элемента массива C++
C++ Проверка массива char на равенство с таким же массивом
C++ Проверка на равенство двух строк C++
Побитовое увеличение числа на 1 и побитовая проверка на равенство C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
08.08.2014, 14:35     Проверка на равенство буквы и элемента из массива #2
bazelbodayFaron, одинарные ковычки нужны в условиях
C++
1
if (A[i+1] == 'й' || A[i+1] == 'Й')
krv
71 / 51 / 11
Регистрация: 10.07.2014
Сообщений: 328
08.08.2014, 15:14     Проверка на равенство буквы и элемента из массива #3
Цитата Сообщение от bazelbodayFaron Посмотреть сообщение
if ( english[j]==" " || English[j]==" ")
C++
1
if ((english[j]==' ') || (English[j]==' '))
Логические функции имеют нелогичный приоритет выполнения.. Обрамляй скобками
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
08.08.2014, 15:20     Проверка на равенство буквы и элемента из массива #4
krv, да и так сработает, главное чтобы были одинарные ковычки.
Yandex
Объявления
08.08.2014, 15:20     Проверка на равенство буквы и элемента из массива
Ответ Создать тему
Опции темы

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