Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 17
1

Подсчитать количество букв в третьем слове и добавить пробел после каждой буквы третьего слова

21.06.2014, 16:58. Показов 2954. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано задание.
"Подсчитать количество букв в третьем слове и добавить пробел после каждой буквы третьего слова." Обработку строки реализовать с помощью функций, описанных в <string.h> и с использованием указателей.
Как его сделать через массив символов я знаю, а вот через указатели и функции что-то не догоняю.
Помогите пожалуйста сделать, либо хотя-бы направьте в каком русле думать!))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2014, 16:58
Ответы с готовыми решениями:

Дан текст, слова разделены одним пробелом. Подсчитать количество букв «е» в третьем слове
Строковый тип данных. Задачи. 6) Дан текст, слова разделены одним пробелом. Подсчитать...

Подсчитать количество букв в третьем слове предложения
Написать программу, которая запрашивает предложение, и считает кол-во букв в третьем слове. Спасибо

Составить нормальный алгорим маркова: если в слове нечетное количество букв, то после каждой буквы поставить !
Здравствуйте, помогите, пожалуйста! Составить нормальный алгоритм маркова: если в слове нечетное...

Во втором слове после каждой буквы вставить пробел
Задается строка текста, состоящая из нескольких слов. Слова отделяются последовательностью...

4
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
21.06.2014, 18:05 2
Цитата Сообщение от Kaylon Посмотреть сообщение
Помогите пожалуйста сделать, либо хотя-бы направьте в каком русле думать!))
массивы и указатели в C очень похожи.
C
1
2
3
4
5
6
int arr[10];
// arr[i] эквивалентно *(arr+i); &arr[i] соответствует arr+i
// arr - указатель на первый элемент массива
 
int* arr = malloc(sizeof(int)*10);
// тут то же самое: arr[i] = *(arr+i)
0
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 17
22.06.2014, 19:34  [ТС] 3
принцип работы указателей и функций <string.h> я немного понимаю. А вот как их применить в этой задаче не знаю.
вот нам дали пример:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Удалить из строки 00
#include<stdio.h>
#include<string.h>
#include<conio.h>
void main()
{
 char s[100],s1[50];      //char *s=new char [60],*s1=new char [50];  // или 1-е или 2-е описание
 char *t;                                       // рабочий указатель
 puts("vedite stroku");gets(s);
 puts("v ishodnoi stroke:");
 puts(s);
 t=s;           // установка указателя на строку s
  while ((t=strstr(t,00))!=0) {         // ищем 0 в подстроке t
         strcpy(t,t+2);    //если найден, то копируем подстроку t+2  в подстроку t (сжимаем 
                                      //        строку на 2 символа 00)
      }                          // выход из цикла, если не найден 0
printf("novaja stroka:%s\n",s);
 getch();
}
Так вот, я не понимаю как все это применить к моей задаче. Если бы можно было посимвольно разобрать, я бы через цикл перебирая каждую букву нашел третье слово(после 2 пробела) и в нем посчитал каждую букву(до 3 пробела). Можно даже сказать главная моя проблема в цикле, в примере цикл ищет только 00, на остальных не задерживается, а мне же надо каждую букву в третьем слове сосчитать, да еще и пробелы поставить.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
22.06.2014, 20:20 4
Цитата Сообщение от Kaylon Посмотреть сообщение
Если бы можно было посимвольно разобрать, я бы через цикл перебирая каждую букву
а кто запрещает?
C
1
2
3
4
char str[] = "stroka";
for (char *c=str; *c; ++c) {
    printf("%c\n", c);
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
23.06.2014, 03:55 5
Лучший ответ Сообщение было отмечено Kaylon как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
#define WORD_NUMBER 3
 
int main(void) {
    char str[] = "any many money more", * p;
    int len = 0, nword = 0;
 
    for ( p = strtok(str, DELIM); p; p = strtok(NULL, DELIM) ) {
        if ( ++nword == WORD_NUMBER ) {
            len = strlen(p);
            while ( *p )
                printf("%c ", *p++);
        }
        else
            printf("%s ", p);
    }
    printf("\nLength of %d-th word %d characters.\n", WORD_NUMBER, len);
 
    return 0;
}
1
23.06.2014, 03:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2014, 03:55
Помогаю со студенческими работами здесь

Строки. Вставить пробел после каждой нечетной буквы в слове
1) Дано слово, посчитать, сколько раз входит в него сочетание «he» (Уже составил, см.ниже); 2)...

Во втором слове после каждой буквы вставить пробел, исправьте
program slf; var a, o, i:integer; s:string; begin writeln('введие строку:'); readln(s); for...

Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове
Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке....

Определить длину данного и количество Букв «а». Вывести имя и количество букв в третьем слове
Ввести фамилию , имя и отчество как одно текстовое данное. Определить длину данного и количество...

Определить количество букв в третьем слове
доброго времени суток у меня есть задание: Ввести фамилию, имя и отчество как одно данное типа...

вывести имя и количество букв в третьем слове
вывести имя и количество букв в третьем слове Иванов Иван Иванович stringbuilder


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru