С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
#1

Дан массив слов. Определить количество слов массива, которые не являются «перевертышем». - C++

02.10.2011, 13:31. Просмотров 1413. Ответов 16
Метки нет (Все метки)

Дан массив слов. Определить количество слов массива, которые не являются «перевертышем».

Разработать программу на языке Си. Допускается использование переменных. Все строки должны быть размещены динамически с помощью оператора new. Разделителем слов в предложении считать только пробел. Все остальные символы считать частью слов предложения. Посимвольный доступ к элементам строки должен осуществляться с помощью указателей. Функции для работы со строками использовать можно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2011, 13:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан массив слов. Определить количество слов массива, которые не являются «перевертышем». (C++):

Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов - C++
мне нужна функция, которая во входе получает строку слов и рзделителей (" ", ",", ".", "_", """), а на выходе имеет массив слов из строки...

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

Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). ​​Определить количество слов, которые заканчиваются одной и той - C++
Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). ​​Определить количество слов, которые заканчиваются...

Использование библиотеки STL , контейнер string. Дан массив слов.Надо удалить все цифры из слов - C++
#include "StdAfx.h" #include <string> #include <iostream> #include <algorithm> using namespace std; int main() { string str...

Дан текст определить количество слов в нём. - C++
Дан текст определить количество слов в нём.

Дана строка, состоящая из русских слов. Найти количество слов, которые содержат ровно три буквы «А» - C++
Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество...

16
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.10.2011, 13:35 #2
Цитата Сообщение от juli.ya92 Посмотреть сообщение
на языке Си
Цитата Сообщение от juli.ya92 Посмотреть сообщение
оператора new
Странно как-то...
0
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
02.10.2011, 13:36  [ТС] #3
Имеется ввиду например
char *j =new char;
0
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.10.2011, 13:38 #4
juli.ya92, так делать в Си нельзя.
0
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
02.10.2011, 13:40  [ТС] #5
Мда ну незнаю тогда чему нас в универе учат...
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
02.10.2011, 14:13 #6
В Си нет оператора new. Есть функции malloc/calloc/realloc, с помощью которых можно добиться того же эффекта.
0
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
02.10.2011, 14:14  [ТС] #7
Ну а в С++ он есть?
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.10.2011, 14:18 #8
Цитата Сообщение от juli.ya92 Посмотреть сообщение
Ну а в С++ он есть?
Есть. Только в с++ лучше использовать std::string.
0
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
02.10.2011, 14:19  [ТС] #9
Мы такое ещё не проходили это раздел для начинающих или как?
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
02.10.2011, 15:05 #10
Цитата Сообщение от juli.ya92 Посмотреть сообщение
Ну а в С++ он есть?
Ну а в С++ он есть. Но вы-то просили на С.

Не по теме:

Цитата Сообщение от juli.ya92 Посмотреть сообщение
это раздел для начинающих или как?
Где та грань, которая разделяет "начинающих" и "не начинающих"?

0
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
02.10.2011, 15:10  [ТС] #11
Разработать программу на языке Си++
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.10.2011, 15:27 #12
Если я правильно понял задание, то как-то так.
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
#include <iostream>
#include <cstring>
 
#define DELIMS " "
 
bool is_pal( const char * word )
{
    for ( const char  *i = word, *j =  word + strlen(word) - 1; i < j ; )
        if ( *i++ != *j-- )
            return false;
    return true;
}
 
int main()
{
    const int MAXSIZE = 128;
    
    char * sentence = new char [ MAXSIZE ];
    std::cin.getline( sentence, MAXSIZE );
    
    int count = 0;
    
    for ( char * p = strtok(sentence, DELIMS ); p ; p = strtok(0, DELIMS) )
    {
        if ( !is_pal( p ) )
            ++count;
    }
    
    delete[] sentence;
    
    std::cout << count;
}
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
02.10.2011, 15:49 #13
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
#include <iostream>
#include <cstring>
 
typedef char char_t;
typedef char_t * str_t;
 
void realloc_str(char_t *&str, size_t new_size)
{
    str_t new_str = new char_t [new_size] ();
 
    strcpy(new_str, str);
 
    delete [] str;
 
    str = new_str;
}
 
str_t get_str()
{
    static const size_t QUANTUM = 32;
 
    str_t str = new char_t [QUANTUM] ();
 
    size_t multiplier = 1;
 
    size_t i = 0;
 
    do
    {
        if (i >= multiplier * QUANTUM - 1)
            realloc_str(str, ++multiplier * QUANTUM);
 
        std::cin.get(str[i]);
    }
    while (str[i++] != '\n');
 
    str[i - 1] = '\0';
 
    return str;
}
 
bool is_palindrome(str_t str)
{
    for (str_t i = str, j = str + strlen(str) - 1; i < j; ++i, --j)
        if (*i != *j)
            return false;
 
    return true;
}
 
int main()
{
    static const str_t delims = " ";
 
    str_t str = get_str();
 
    size_t count = 0;
 
    for (str_t p = strtok(str, delims); p != 0; p = strtok(0, delims))
        if (!is_palindrome(p))
            ++count;
 
    std::cout << "Number of palindromes: " << count << std::endl;
 
    return 0;
}
Добавлено через 1 минуту
Ха, у нас с diagonом коды-близнецы)) Только я извратился с вводом бесконечной строки))
0
fasked
02.10.2011, 15:50
  #14

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
C++
1
typedef char_t * str_t;
Извращенец

0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
02.10.2011, 15:52 #15

Не по теме:

fasked, а вдруг на wchar_t захочется перелезть? Тогда менять только в одном месте



Добавлено через 1 минуту

Не по теме:

Правда с ним ни одна библиотечная строковая функция работать не будет

0
02.10.2011, 15:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2011, 15:52
Привет! Вот еще темы с ответами:

Дан текстовый файл. Определить среднее количество слов в строке - C++
Дан текстовый файл. Определить среднее количество слов в строке.

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

Определить количество слов, которые содержат введенный символ - C++
Дана строка из символов латинского алфавита, разделенных одним или несколькими пробелами. Определить количество слов, которые содержат...

Определить количество слов, которые содержат ровно четыре буквы - C++
Помогите. Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые...


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

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

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