0 / 0 / 1
Регистрация: 29.12.2016
Сообщений: 11
1

Заменить все русские буквы в строке их порядковыми номерами в русском алфавите

10.01.2017, 17:27. Показов 4381. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно заменить все русские буквы в строке их порядковыми номерами в русском алфавите.
В чем ошибки?
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
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main(){
char alph_zagl[33] = {А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я};
char alph_propis[33]={а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я};
 
char string [100];
scanf ("Введите строку не более 100 символов: %s", string);
int i,j;
printf("Результат: ", i);
for(i=0; i<100; i++) {
bool flag = 1;
for(j=0; j<33; j++) {
if(string[i]==alph_zagl[j] || string[i]==alph_propis[j]) {
printf("%d", j+1);
flag = 0;
}
}
if(flag) {
printf("%s", string[i]);
}
}
 
return(0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2017, 17:27
Ответы с готовыми решениями:

Заменить все русские буквы строке их порядковыми номерами в русском алфавите
заменить все русские буквы строке их порядковыми номерами в русском алфавите.

В произвольной строке заменить все русские буквы на символы '1'
в имеющейся произвольной строке заменить все русские буквы на символы '1' Добавлено через 17...

Во введенной строке заменить все гласные латинские буквы на русские соответственно
У меня установлен Borldand C++ Builder Dos Box. Как в нем ввести русский алфавит в консоле!?Язык...

Если значения двух соседних элементов этой строки расположены через две буквы в русском алфавите, то заменить их на ноль
Дана последовательность русских заглавных букв. Если значения двух соседних элементов этой строки...

4
48 / 48 / 46
Регистрация: 18.11.2016
Сообщений: 109
10.01.2017, 18:25 2
DRONCSKA,
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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
 
int main()
{
 
    setlocale(LC_ALL,"rus");
 
    char ar[100];
    int i;
 
    gets(ar);   //вводим наше предложение
 
    for(i=0;i<=strlen(ar)-1;i++)    //перебираем буквы
                                    //если кодировка каноничная ASCII
                                    //где коды кириллицы в диапазоне заглавные 192-223
                                    //прописные 224-255
    {
       if(ar[i]==' ')
        printf(" ");
        else
            if(ar[i]>=224)
                printf("%d",ar[i]-223);
            else
                printf("%d",ar[i]-191);
 
    }
    return 0;
}
Добавлено через 19 минут
DRONCSKA, лови так же твою исправленную, ошибки сам разберешь. Единственное я сделал для латиницы.
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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
 
int main()
{
 
setlocale(LC_ALL,"rus");
 
int i,j;
char alph_zagl[] = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
char alph_propis[]={"abcdefghijklmopqrstuvwxyz"};
char string [100];
gets(string);
 
for(i=0; i<strlen(string); i++)
{
    if(string[i]==' ')
        {
            printf(" ");
            continue;
        }
 
    for(j=0; j<33; j++)
    {
        if(string[i]==alph_zagl[j] || string[i]==alph_propis[j])
            {
                printf("%d ", j+1);
                break;
            }
 
    }
}
 
return 0;
 
}
1
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
11.01.2017, 04:21 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#define N 80
int main()
{
    char azb[] = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", str[N];
    int i = 0, j;
    system("chcp 1251 > nul");
    puts("Введите строку:");
    while((str[i++] = getchar()) != '\n' && i < N);
    str[i] = '\0';
    for(i = 0; str[i]; i++)
        for(j = 0; azb[j]; j++)
            if(str[i] == azb[j]){
                printf("%d ", j > 32 ? j - 32 : j + 1);
                break;
            }
    return 0;
}
1
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
11.01.2017, 05:16 4
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
#include <stdio.h>
 
int main(void)
{
    int codes[256];
    int i;
    for (i = 0; i < 256; i++) { codes[i] = 0; }
    const char* uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for (i = 0; i < 26; i++) { codes[uppers[i]] = i + 1; }
    const char* lowers = "abcdefghijklmnopqrstuvwxyz";
    for (i = 0; i < 26; i++) { codes[lowers[i]] = i + 1; }
    char str[100];
    gets(str);
    for (char* pch = str; *pch != '\0'; pch++)
    {
        int code = codes[*pch];
        if (code == 0)
        {
            putchar(*pch);
        }
        else
        {
            printf("%d", codes[*pch]);
        }
    }
    return 0;
}
0
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
11.01.2017, 07:19 5
ata, вместо
C
1
2
int codes[256];
for (i = 0; i < 256; i++) { codes[i] = 0; }
можно записать короче
C
1
int codes[256] = {0};
оставшиеся неинициализированными элементы автоматически получают 0
0
11.01.2017, 07:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2017, 07:19
Помогаю со студенческими работами здесь

Если значения двух соседних элементов этой строки расположены через две буквы в русском алфавите, то заменить их на ноль.
Дана последовательность русских заглавных букв. Если значения двух соседних элементов этой строки...

Заменить в данной строке цифры на соответствующие им в алфавите по порядку буквы
Слова в строке отделены одним пробелом, в конце ставится точка. Заменить в данной строке цифры на...

Заменить в строке маленькие русские буквы на их символ клавиатуры
Помогите написать программу, которая будет заменять в строке маленькие русские буквы на их символ...

Найти в строке все буквосочетания, в которых встречаются две соседние в алфавите буквы, и удалить их
С клавиатуры вводится строка S. Она содержит различные символы и пробелы. Части строки, разделенные...

Возможно ли на Delphi закодировать буквы на русском алфавите?
Возможно ли на Delphi закодировать буквы на русском алфавите? Каким образом?

Дана строка. Преобразуйте строку по следующему правилу: заменить все буквы на их порядковый номер в латинском алфавите,
Добрый вечер, может кто знает как написать код для этой задачи? Дана строка. Преобразуйте строку...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru