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

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

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

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

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

Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой. Длина текста не больше 150 символов, могут быть использованы любые символы. Словом считается последовательность символов, не содержащая пробел. Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке. Найти первое цифровое слово, возвести его в квадрат и в куб. Полученные три числа записать в виде массива.
Я ВАС ОЧЕНЬ ПРОШУ ПОМОГИТЕ!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 14:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке (C++):

Из строки сформировать отдельно строку латинских и строку русских букв - C++
1. Массивы и указатели. Ввести строку латинских и русских букв вперемешку в одинаковом количестве. Сформировать из нее отдельно две строки...

Сформировать строку из 3-символьных слов «перевертышей» - C++
Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой. Длина текста не больше 160 символов, могут...

Составить новую строку из всех гласных латинских букв исходной строки без повторений - C++
доброго времени суток. прошу помоч знающих людей. вобщем задание такое.. есть строка, выбрать из нее все латинские гласные буквы и...

Дана строка из 20 слов. Сформировать строку, составленную из последних букв всех слов исходной строки - C++
Задача: дана строка из 20 слов (или любого другого числа). Сформировать строку, составленную из последних букв всех слов исходной строки.

Сформировать новую строку, состоящую из слов исходной строки - C++
задача такая: дана строка состоящая из слов разделенных пробелами сформировать новую строку состоящую из слов исходной строки Пример...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 18:26 #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  [ТС] #3
это походу что-то не то..

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

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

Добавлено через 26 секунд
zitxbit, и скажите,почему 256? ведь в задании 150...
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 22:50 #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  [ТС] #9
zitxbit, огромное Вам спасибо!
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 04:57 #10
Un Oom
Нажми спасибо Человек старался
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 04:57
Привет! Вот еще темы с ответами:

Сформировать новую строку из слов, состоящих только из латинских букв, и длинной не более 7 литер - C (СИ)
Очень прошу помочь! Нужно написать программу на языке C с использованием стандартных функций. Сформировать новую строку из слов,...

Сформировать новую строку, в которую включить слова, состоящие только из латинских букв - Turbo Pascal
Здравствуйте! Есть задача: Задан текст, состоящий из слов, записанных через пробелы или запятые. Длина текста не больше 255 символов....

Подсчитать количество слов, состоящих только из заглавных латинских букв - PascalABC.NET
Подсчитать количество слов, состоящих только из заглавных латинских букв. var x: array of char; s:string; ...

Создать новую строку, которая состоит из малых латинских букв, входящих ровно 2 раза в строку - Pascal ABC
Здравствуйте,возникли трудности с задачей:Дана строка с буквами(малые латинские).Создать новую строку,которая состоит из малых латинских...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2012, 04:57
Ответ Создать тему
Опции темы

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