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

Замена букв на числа и наоборот - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Lerin
Сообщений: n/a
24.12.2009, 15:15     Замена букв на числа и наоборот #1
Всем привет. Помогите, пожалуйста, с такой задачей:

1. С клавиатуры вводится текст на английском. Программа должна каждую букву заменить на ее порядковый номер и вывести получившиеся числа числа через пробелы, а пробелы в исходном тексте заменяются на нули. (Вводим "hello world", получаем 8 5 12 12 15 0 23 15 18 12 4)
2. С клавиатуры вводится числовая последовательность (числа от 0 до 26), программа должна каждое число заменить на соответствующую ей букву, а 0 - на пробел. (Вводим 8 5 12 12 15 0 23 15 18 12 4, получаем "hello world")

Желательно, чтобы это было реализовано в одной программе. Сам я язык знаю на очень плохом уровне (можно сказать, почти не знаю), поэтому обращаюсь к вам за помощью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2009, 15:15     Замена букв на числа и наоборот
Посмотрите здесь:

C++ Перевод числа из двоичной в десятичную и наоборот.
C++ Замена строчных букв прописными и наоборот
C++ Символам отвечают числа и наоборот
C++ Замена букв a b c на 3 4 5
C++ Напишите программу замены в тексте всех букв «а» на «о» и наоборот с учетом регистра. Выведите исходные и преобразованный тексты.
C++ Перевод заглавных букв в строчные и наоборот
C++ Дана строка латинских букв. После заглавной буквы поставить вставить эту же прописную букву и наоборот
Замена букв на цифры C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
24.12.2009, 18:15     Замена букв на числа и наоборот #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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
    
/* 
    каждую букву заменить на ее порядковый номер и вывести получившиеся числа 
    через пробелы, а пробелы в исходном тексте заменяются на нули   
*/
int main(void){
    char instr[BUFSIZ], *p;
    int action, stop, val;
    
    stop = 0;
    while ( !stop ){
        printf("\n1 - char to int; 2 - int to char; 3 - exit\n> ");
        if ( scanf("%d%*c", &action) != 1 ){
            fprintf(stderr, "Error while getting number!\n");
            exit(1);
        }
        switch ( action ){
            case 1 :
                printf("String: ");
                if ( !fgets(instr, BUFSIZ, stdin) ){
                    fprintf(stderr, "Can't get string!\n");
                    exit(1);
                }
                if ( p = strrchr(instr, '\n') )
                    *p = '\0';
                if ( !*instr ){
                    fprintf(stderr, "Empty strings not allowed\n");
                    exit(1);
                }
                for ( p = instr; *p; ++p ){
                    if ( *p >= 'a' && *p <= 'z' )
                        printf("%d ", *p - 'a' + 1);
                    else if ( *p >= 'A' && *p <= 'Z' )
                        printf("%d ", *p - 'A' + 1);
                    else if ( *p == ' ' )
                        printf("%d ", 0);
                }
                printf("\n");
                break;
            case 2 :
                printf("Numbers: ");
                if ( !fgets(instr, BUFSIZ, stdin) ){
                    fprintf(stderr, "Can't get string!\n");
                    exit(1);
                }
                if ( p = strrchr(instr, '\n') )
                    *p = '\0';
                if ( !*instr ){
                    fprintf(stderr, "Empty strings not allowed\n");
                    exit(1);
                }
                for ( p = strtok(instr, " "); p != NULL; p = strtok(NULL, " ") ){
                    val = atoi(p);
                    printf("%c", ( val ) ? (val - 1 + 'a') : ' ');
                }
                printf("\n");
                break;
            case 3 :
                stop = 1;
                break;
            default :
                printf("Wrong command!\n");
                break;
        }
    }
    exit(0);
}
darude
0 / 0 / 0
Регистрация: 08.04.2009
Сообщений: 9
19.05.2011, 09:39     Замена букв на числа и наоборот #3
Спасибо за прогу)))) а где нужно поменять код чтобы за место цифр выводилсь буквы по принципу:
A на Z, B на Y и так далее(то есть заменяет 1-ые символы на 1-ые но только с конца)?
Yandex
Объявления
19.05.2011, 09:39     Замена букв на числа и наоборот
Ответ Создать тему
Опции темы

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