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

Определить количество слов, которые начинаются и заканчиваются одной и той же буквой - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
andreymamontov
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 12
19.06.2010, 17:06     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #1
Дана строка, состоящая из слов, разделенных пробелом. Определить количество слов, которые начинаются и заканчиваются одной и той же буквой.
Помогите хотя бы начать!
Или через какую функцию делать:
Таблица 1 Функции для работы со строками из библиотеки обработки строк
Прототип функции Описание функции
void *memcpy(void *s1, const void *s2, size_t n) Функция копирует n символов из объекта, указанного параметром s2, в объект, на который указывает s1. Функция memcpy возвращает значение s1.
void *memmove(void *s1, const void *s2, size_t n); Функция копирует n символов из объекта, указанного параметром s2, в объект, на который указывает s1. Копирование происходит так, как будто n символов из объекта s2 сначала копируются во временный массив из n символов, не перекрывающийся с массивами, на которые ссылаются параметры s1 и s2, а затем n символов из этого временного массива копируются в объект, на который указывает s1. Функция memmove возвращает значение s1.
char *strcpy(char * s1, const char *s2) Копирует строку s2 в массив символов s1. Возвращает значение s1.
char *strncpy(char *s1 , const char *s2, size_t n) Копирует не более n символов из строки s2 в массив символов s1. Возвращает значение s1.
char *strcat(char * s1, const char *s2) Добавляет строку s2 к строке s1. Первый символ строки s2 записывается поверх завершающего нулевого символа строки s1. Возвращает значение s1.
char *strncat(char *s1 , const char *s2, size_t n) Добавляет не более n символов строки s2 в строку s1. Первый символ из s2 записывается поверх завершающего нулевого символа в s1. Возвращает значение s1.
int memcmp(const void *s1, const void *s2, size_t n); Функция memcmp сравнивает первые n символов объекта, на который указывает s1, с первыми n символами объекта, на который указывает s2. Функция memcmp возвращает целочисленное значение, большее, равное, или меньшее нуля, если объект, на который ссылается si, соответственно больше, равен, или меньше объекта, на который ссылается s2 .
int strcmp(const char *s1, const char *s2) Сравнивает строки s1 и s2. Функция возвращает значение 0, меньшее, чем 0 или большее, чем 0, если s1 соответственно равна, меньше или больше, чем s2.
int strcmp(const char *s1, const char *s2, size_t n) Сравнивает до n символов строки s1 со строкой s2. функция возвращает значение 0, меньшее, чем 0 или большее, чем 0, если s1 соответственно равна, меньше или больше, чем s2.
void *memchr(const void *s, int c, size_t n) ; Функция memchr ищет первое включение символа с (преобразованного к типу unsigned char) среди первых n символов (интерпретируемых как unsigned char) объекта, на который указывает s. Функция memchr возвращает указатель на обнаруженный символ или нулевой указатель, если символ не найден.
char *strchr(const char *s, int c); Функция strchr ищет первое включение символа с (преобразованного к типу char) в строке s. Завершающий нулевой символ рассматривается как часть строки. Функция strchr возвращает указатель на обнаруженный символ или нулевой указатель, если символ в строке не найден.
size_t strcspn(const char *s1, const char *s2); Функция strcspn вычисляет максимальную длину такой подстроки в строке s1, среди символов которой нет ни одного символа из строки, на которую указывает s2. Функция strcspn возвращает длину найденной подстроки.
char *strpbrk(const char *s1, const char *s2) ; Функция strpbrk находит первое вхождение любого символа из строки s2, в строке s1. Функция strpbrk возвращает указатель на найденный символ или нулевой указатель, если ни один символ из s2 не обнаружен в s1.
char *strrchr(const char *s, int c); Функция strrchr ищет последнее включение символа с (преобразованного к типу char) в строке s. Завершающий нулевой символ рассматривается как часть строки. Функция strrchr возвращает указатель на обнаруженный символ или нулевой указатель, если символ в строке не найден.
size_t strspn(const char *s1, const char *s2); Функция strspn вычисляет максимальную длину такой подстроки, найденной в строке s1, все символы которой являются символами строки s2. Функция strspn возвращает длину найденной подстроки.
char *strstr(const char *s1, const char *s2); Функция strstr находит в строке s1, первое вхождение строки, s2 (за исключением завершающего нулевого символа). Функция strstr возвращает указатель на обнаруженную строку или нулевой указатель, если строка не найдена. Если s2 указывает на строку нулевой длины, функция возвращает значение s1.
char *strtok(char * s1, const char *s2) Последовательность вызовов strtok разбивает строку s1 на «лексемы» - логические куски, такие, как слова в строке текста - разделенные символами, содержащимися в строке s2. Первый вызов содержит в качестве первого аргумента s1, а последующие вызовы для продолжения обработки той же строки, содержат в качестве первого аргумента NULL. При каждом вызове возвращается указатель на текущую лексему. Если при вызове функции лексем больше нет, возвращается NULL.
size_t strlen (const char *s) Определяет длину строки s. Возвращает количество символов, предшествующих завершающему нулевому символу.
void *memset(void *s, int с, size_t n) ; Функция memset копирует значение символа с (преобразованного к типу unsigned char) в каждый из первых n символов объекта, на который указывает параметр s. Функция memset возвращает значение s.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2010, 17:06     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой
Посмотрите здесь:

Определить, сколько слов во введенном тексте начинаются и оканчиваются одной и той же буквой C++
C++ Найти количество слов, которые начинаются и заканчиваются одной и той же буквой
C++ Найти слова, которые начинаются и заканчиваются одной и той же буквой (перевести из Паскаля в С++)
Определить количество слов, начинаются и заканчиваются одной и той же буквой C++
Дан текстовый файл. Найти количество строк, которые начинаются и заканчиваются одной буквой C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
19.06.2010, 18:27     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    char temp = ' ', temp1 = ' ';
    int count = 0;
    while(cin.peek() != '\n')
    {
        temp = cin.get();
        while(cin.peek() != ' ' && cin.peek() != '\n')
            temp1 = cin.get();
        if(temp == temp1)
            count++;
        if(cin.peek() != '\n')
            cin.get();
    }
    cout << count << endl;
    return 0;
}
andreymamontov
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 12
19.06.2010, 18:56  [ТС]     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #3
Эта программа не со строками работает!
Спасибо, но не то что я просил((((
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
19.06.2010, 19:04     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #4
andreymamontov, а с чем она работает?
andreymamontov
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 12
19.06.2010, 19:30  [ТС]     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #5
Ты даже библиотеку по работе со строками не вписал!

Добавлено через 3 минуты
Или я тупо не понимаю как работает твоя программа, и что она делает...
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
19.06.2010, 19:36     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #6
andreymamontov, или. Моя программа работает с введённой строкой посимвольно, не сохраняя её ни в каких переменных, следовательно никакая библиотека мне абсолютно не нужна. В следующий раз, чтобы не возникало подобных проблем настоятельно рекомендую более чётко описывать условие задачи.
andreymamontov
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 12
19.06.2010, 19:43  [ТС]     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #7
Ага, ты можешь мне помочб написать программу, каторая работает через библиотеку <string.h> по функции приведеной у меня в задание,( я вот не в рубился по какой) чтобы было например 2 готовые строки...и она определяла колличество слов начинающихся и заканчивающихся одним и тем же символом
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
19.06.2010, 20:05     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #8
andreymamontov, нет, не смогу. Я вообще ни разу в жизни не пользовался этой библиотекой.
andreymamontov
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 12
19.06.2010, 20:19  [ТС]     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #9
Понятно...ща попробую что нить написать

Добавлено через 7 минут
Помогите мне(((((((((((((((((((((((((((((((((
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.06.2010, 21:22     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #10
Цитата Сообщение от andreymamontov Посмотреть сообщение
через библиотеку <string.h> ...и она определяла колличество слов начинающихся и заканчивающихся одним и тем же символом
По-моему в <string.h> такой ф-ции нет. Полностью писать код некогда, вот основной кусок:

C++
1
2
3
4
5
for(int i=0;str[i]!='\0';i++){   //str - адрес строки
   ch=str[i] ; // ch - заранее объявленый char
while(str[i]!=' '||str[i]!='\0') ++i;
if(str[i-1]==ch) count++; //счетчик слов +1
//не компилировал
Добавлено через 22 минуты
блин, вместо || нужно &&, мне сессия мозг сушит)
qwarta
 Аватар для qwarta
56 / 56 / 5
Регистрация: 20.11.2009
Сообщений: 212
19.06.2010, 22:36     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #11
andreymamontov используйте поиск:
Распечатать все слова из каждой строки, начинающиеся и заканчивающиеся на заданную букву.
andreymamontov
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 12
20.06.2010, 11:45  [ТС]     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #12
Спасибо) попробую до делать, хотя нам препад говорил что надо через функцию приведенную в задании

Добавлено через 11 минут
Мне надо еще легче программу, каторая приведена в поиски...мне надо тупо чтобы программа определяла количестово слов начинающихся и заканчивающихся одним и тем же символом..в уже готовой строке
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2010, 15:45     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой
Еще ссылки по теме:

Среди слов вывести в начале те, которые начинаются и заканчиваются одной буквой C++
C++ Определить количество слов начинающихся и оканчивающихся одной и той же буквой
C++ Дана строка. Найти в ней те слова, которые начинаются и заканчиваются одной и той же буквой

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.06.2010, 15:45     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой #13
C++
1
2
3
4
5
int wordcount (char *str){
int count=0;
char ch;
// тут код который я написал
return count}
ф-ция готова, осталось ее в main'e вызвать, и ответ на экран вывести.

Добавлено через 3 минуты
...правда я твое задание не читал, ниасилилмногабукв) Но вроде это, то что надо.
Yandex
Объявления
20.06.2010, 15:45     Определить количество слов, которые начинаются и заканчиваются одной и той же буквой
Ответ Создать тему
Опции темы

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