Немного подправил
ТЕСТОВЫЙ ВАРИАНТ
Код:
//я бы сделал так
#include <stdio.h>
#include <string.h>
int main()
{
char *me_str="This pRogramm nOt Work РуС";
char *eng="QWERTYUIOPASDFGHJKLZXCVBNM";
char *rus="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
int engword=0, rusword=0, i=0;
for(i=0;i<=strlen(me_str);i++)
{
if(strchr(eng,me_str[i]))
{
engword++;
printf("[%c] ",me_str[i]); //Для проверки что считаетса за совпадение
}
if(strchr(rus,me_str[i]))
{
rusword++;
printf("(%c) ",me_str[i]); //Для проверки что считаетса за совпадение
}
}
printf("eng=%2i\trus=%2i\n",engword-1,rusword-1);
return 0;
}
Только проблема у меня с компилятором русский не видет
[T] [R] [O] [W] (�) (�) (�) (�) [] () eng= 4 rus= 4
РАБОЧИЙ КОД:
Код:
#include <stdio.h>
#include <string.h>
int main()
{
char *me_str="This pRogramm nOt Work РуС";
char *eng="QWERTYUIOPASDFGHJKLZXCVBNM";
char *rus="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
int engword=0, rusword=0, i=0;
for(i=0;i<=strlen(me_str);i++)
{
if(strchr(eng,me_str[i]))
engword++;
if(strchr(rus,me_str[i]))
rusword++;
}
printf("eng=%2i\trus=%2i\n",engword-1,rusword-1);
return 0;
}
Код:
printf("eng=%2i\trus=%2i\n",engword-1,rusword-1); - почему-то по
непонятным мне причинам считалось на 1 символ больше, странно, пришлось
зделать всем -1
Вообщем проверяйте на своих компиляторах и если что подправте
Социальные закладки