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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Un Oom
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 20
#1

Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке - C++

19.06.2012, 14:19. Просмотров 719. Ответов 9
Метки нет (Все метки)

Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой. Длина текста не больше 150 символов, могут быть использованы любые символы. Словом считается последовательность символов, не содержащая пробел. Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке. Найти первое цифровое слово, возвести его в квадрат и в куб. Полученные три числа записать в виде массива.
Я ВАС ОЧЕНЬ ПРОШУ ПОМОГИТЕ!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 14:19     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке
Посмотрите здесь:
C++ Из строки сформировать отдельно строку латинских и строку русских букв
Сформировать строку из 3-символьных слов «перевертышей» C++
Составить новую строку из всех гласных латинских букв исходной строки без повторений C++
Дана строка из 20 слов. Сформировать строку, составленную из последних букв всех слов исходной строки C++
C++ Сформировать новую строку, состоящую из слов исходной строки
Дана строка, состоящая из четырех слов. Сформировать новую строку, где первое и последнее слова поменяются C++
поиск слов, состоящих из прописных букв C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 18:26     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <locale.h>
 
bool isnum(char* psz);
bool iscyrr(char* psz);
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    static char* psz = "apple fruit 256 verdict plumb viaduct cocktail aquarel\0";
 
    char* buf = psz; bool num = false;
    while ((buf = strchr(buf,' ')) != NULL && *psz != '\0')
    {   
        char temp[256] = "\0"; int n = 0;
        while (*psz != *buf && *psz != '\0') 
            temp[n++] = *psz++;
        temp[n] = '\0'; *psz++;
    
        if (isnum(temp) && !num)
        {
            printf("%d - %d - %d\n",atoi(temp),
                (int)pow((double)atoi(temp),2),
                (int)pow((double)atoi(temp),3));
            num = true;
        }
        
        else if (strlen(temp) == 7 && !iscyrr(temp))
            printf("%s\n",temp);
    }
 
    _getch();
 
    return 0;
}
 
bool iscyrr(char* psz)
{   
    bool found = false;
    for (int i = 0; psz[i] != '\0' && !found; i++)
        found = (psz[i] >= 'а' && psz[i] <= 'я') ? 1 : 0;
    return found;
}
 
bool isnum(char* psz)
{
    bool found = false;
    for (int i = 0; psz[i] != '\0' && !found; i++)
        found = (isalpha(psz[i])) ? 1 : 0;
    return !found;
}
http://liveworkspace.org/code/602058...358254c3932674
Un Oom
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 20
19.06.2012, 22:26  [ТС]     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #3
это походу что-то не то..

Добавлено через 2 часа 21 минуту
zitxbit, скажите и это всё что требовалось?
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 22:28     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #4
Что вы имеете в виду - "все"?
Un Oom
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 20
19.06.2012, 22:29  [ТС]     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #5
zitxbit, значит всё? задание выполнено?
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 22:30     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #6
Да. Исходя из логики задания, задание выполнено.
Un Oom
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 20
19.06.2012, 22:36  [ТС]     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #7
zitxbit, а где мы в куб возводим?

Добавлено через 31 секунду
zitxbit, и записанные три числа в виде массива?

Добавлено через 26 секунд
zitxbit, и скажите,почему 256? ведь в задании 150...
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 22:50     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #8
Вот, пожалуйста, я слегка доделал код:

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <locale.h>
 
bool isnum(char* psz);
bool iscyrr(char* psz);
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    static char* psz = "apple 139 256 verdict 15 viaduct cocktail aquarel\0";
 
    char* buf = psz; 
    int x = 0, *nums = new int[3];
    while ((buf = strchr(buf,' ')) != NULL && *psz != '\0')
    {   
        char temp[256] = "\0"; int n = 0;
        while (*psz != *buf && *psz != '\0') 
            temp[n++] = *psz++;
        temp[n] = '\0'; *psz++;
    
        if (isnum(temp) && x < 3)
        {
            nums[x] = atoi(temp);
            if (x == 0)
            {
                printf("%d - %d - %d\n",nums[x],  // Само число.
                    (int)pow((double)nums[x],2),  // Возведение в квадрат
                    (int)pow((double)nums[x],3)); // Возведение в куб
            }
 
            x++;
        }
        
        else if (strlen(temp) == 7 && !iscyrr(temp))
            printf("%s\n",temp);
    }
 
    printf("\n");
 
    for (int d = 0; d < 3; d++)
        printf("%d ",nums[d]);
    printf("\n");
 
    _getch();
 
    return 0;
}
 
bool iscyrr(char* psz)
{   
    bool found = false;
    for (int i = 0; psz[i] != '\0' && !found; i++)
        found = (psz[i] >= 'а' && psz[i] <= 'я') ? 1 : 0;
    return found;
}
 
bool isnum(char* psz)
{
    bool found = false;
    for (int i = 0; psz[i] != '\0' && !found; i++)
        found = (isalpha(psz[i])) ? 1 : 0;
    return !found;
}
http://liveworkspace.org/code/594fa1...9db88ff155fd86
Un Oom
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 20
20.06.2012, 04:38  [ТС]     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #9
zitxbit, огромное Вам спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 04:57     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке
Еще ссылки по теме:
Сколько слов, состоящих из неболее 4 букв C++
Получить строку на русском языке C++
C++ Не выводит строку на русском языке!
Определить количество слов состоящих из менее 5 букв C++
C++ Определить количество слов в тексте, состоящих из K букв. C#/C++

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

Или воспользуйтесь поиском по форуму:
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 04:57     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке #10
Un Oom
Нажми спасибо Человек старался
Yandex
Объявления
20.06.2012, 04:57     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru