0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
1

Написать функцию, преобразующую строку символов так, что между словами всегда находится два пробела

05.11.2010, 15:14. Показов 2490. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите с этой лабой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2010, 15:14
Ответы с готовыми решениями:

Написать функцию, преобразующую строку символов так, что между словами всегда находится два пробела
Написать функцию, преобразующую строку символов так, что между словами всегда находится два...

Написать функцию, преобразующую строку символов так, что между словами всегда находится два пробела.
Ребят, помогите с лр3 задача: Для всех заданий необходимо написать функцию и тестирующую...

Написать функцию, возвращающую строку в которой между словами ровно один пробел
помогите пожалуйста в составление программы на паскале задания: 1.Дано предложение.Слова в...

Текстовый файл: добавить в текст по два пробела между словами
задано текстовый файл ( скопировать с интернета 15-20 ст.) добавить в текст по два пробела между...

27
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
05.11.2010, 16:22 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <sstream>
#include <cstdlib>
 
int main(){
    std::string buf;
    std::cout << "String: ";
    std::getline(std::cin, buf);
 
    std::istringstream ist(buf);
    std::ostringstream ost;
    
    while ( ist >> buf )
        ost << buf << "  ";
 
    std::cout << "Result: " << ost.str() << std::endl;
 
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
05.11.2010, 16:35  [ТС] 3
а через stdio.h никак?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
05.11.2010, 16:47 4
Цитата Сообщение от VladimirH Посмотреть сообщение
а через stdio.h никак?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <string.h>
 
int main(void){
    char buf[BUFSIZ], * p;
    
    printf("String: ");
    scanf("%[^\n]", buf);
    printf("Result: ");
    for ( p = strtok(buf, " "); p; p = strtok(NULL, " ") )
        printf("%s  ", p);
    printf("\n");
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
05.11.2010, 18:20  [ТС] 5
спасибо большое!!!
0
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
17.12.2010, 16:44  [ТС] 6
можно пожалуйста ещё пояснения написать...
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
17.12.2010, 16:49 7
так как-то
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main(void){
        char buf[BUFSIZ], * p;
        
        printf("String: ");
        scanf("%[^\n]", buf);
        printf("Result: ");
        for ( p = strtok(buf, " "); p; p = strtok(NULL, " ") )//Разделяем введенную нами строку на слова, функцией strtok(), разделителем служит пробел 
                                                             //выводим каждое слово на экран ставя после каждого слова два пробела
                printf("%s  ", p);
        printf("\n");
        
        return 0;
}
1
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
17.12.2010, 22:24  [ТС] 8
спасиб

Добавлено через 3 часа 9 минут
[^\n] что эта штука делает???
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
17.12.2010, 22:30 9
Цитата Сообщение от VladimirH Посмотреть сообщение
[^\n] что эта штука делает???
Строки* - пост #7
1
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
17.12.2010, 22:37  [ТС] 10
спасиб
0
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
24.02.2011, 16:12  [ТС] 11
Парни срочно попросили strtok расписать, т.е. написать прогу с тем же смыслом но без него! жду помощи...
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
24.02.2011, 16:26 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
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
 
int mystrlen(const char * s){
  const char * p = s;
  while ( *p )
    ++p;
  return p - s;
}
 
char * mystrchr(const char * s, char ch){
  while ( *s && *s != ch )
    ++s;
  return ( *s ) ? (char*)s : NULL;
}
 
char * mystrtok(char * buf, const char * delim){
  static char * pHead, * pTail, * pRet;
  if ( buf ){
    pHead = buf;
    pTail = pHead + mystrlen(pHead);
    for ( pRet = pHead; pRet < pTail; ++pRet )
      if ( mystrchr(delim, *pRet) )
        *pRet = 0;
  }
  while ( ! *pHead && pHead < pTail )
    ++pHead;
  if ( pHead >= pTail )
    return NULL;
  else {
    pRet = pHead;
    pHead += mystrlen(pHead);
  }
  return pRet;
}
 
int main(void){
  char buf[BUFSIZ], * p;
  printf("String: ");
  scanf("%[^\n]", buf);
  printf("Result: ");
  for ( p = mystrtok(buf, " "); p; p = mystrtok(NULL, " ") )
    printf("%s  ", p);
  printf("\n");
  return 0;
}
0
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
24.02.2011, 16:28  [ТС] 13
млин зачем так всё усложнять.... там просто нужно было его убрать и проще записать
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
24.02.2011, 16:31 14
Цитата Сообщение от VladimirH Посмотреть сообщение
там просто нужно было его убрать и проще записать
Это как ?
0
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
24.02.2011, 16:32  [ТС] 15
ну как объяснили функции strtok брать и написать без неё

Добавлено через 13 секунд
*убрать
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
24.02.2011, 16:36 16
VladimirH, Я написал без strtok().
0
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
24.02.2011, 16:38  [ТС] 17
ну знаешь мы как бы начинающие программисты)) а так как ты написал нам навернякак не поверят))
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
24.02.2011, 16:46 18

Не по теме:

VladimirH, зачем в машине всё так сложно? Давайте двигатель из неё уберём, пусть так ездит!



Добавлено через 43 секунды
Вы вообще в курсе, что делает strtok? И если до, то каковы ваши предложения по её "простому убиранию" из кода?
0
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 54
24.02.2011, 16:52  [ТС] 19
ну млин... нам нельзя до 7 лабы использовать функции такого типа, а эт только 3 идёт... надо не используя её, написать
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
24.02.2011, 17:02 20
Цитата Сообщение от VladimirH Посмотреть сообщение
ну млин... нам нельзя до 7 лабы использовать функции такого типа
Почему ?
0
24.02.2011, 17:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2011, 17:02
Помогаю со студенческими работами здесь

Ввести строку, заменить интервалы между словами на 2 пробела
Ввести строку, заменить интервалы между словами на 2 пробела. Попробовал сосчитать сколько всего...

Ввести строку, заменить интервалы между словами на 2 пробела
написала вот такой код,но здесь добавляет доп.пробел,а мне надо,чтоб любой интервал(хоть там 5...

Написать функцию преобразующую строку в верхний регистр
2.char * Uppercase (char * str1); - функция преобразует строку в верхний регистр. можете...

Написать функцию, которая сортирует значения a, b, c так, что в a находится минимальное значение, а в c максимальное
Написать функцию resort(int &amp;a, int &amp;b, int &amp;c), которая сортирует значения a, b, c так, что в a...


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

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

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