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

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

Войти
Регистрация
Восстановить пароль
 
noomer
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 7
#1

Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки - C++

09.11.2013, 12:37. Просмотров 416. Ответов 5
Метки нет (Все метки)

Объясните пожалуйста,в чем ошибка?

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>
int *words(char *s)
{
 int len=strlen(s),i,k=1,l=0;
 if(len==0)return 0;
 if(s[0]==' ')l=1;
 for(int j=l;j<len;j++)
 {
  char c=s[i];
  if(c==' ' || c=='\t' || c=='\n')k++;
 }
 return k;
}
void main()
{
 char s[80];
 printf("\введите строку: ");
 scanf("%s",s);
 int *k=words(s);
 printf("\nkol=%d",k);
 getchar();в†ђ здесь ошибка "cannot convert 'int' to 'int*'"
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 12:37     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки
Посмотрите здесь:

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

Строки: Выбрать из слов те, которые могут быть получены из образца по правилу - C++
Помогите пожалуйста решить задачу по теме &quot;Строки&quot;: Приняв первое слово за образец, выбрать из остальных слов те, которые могут быть...

Найти слова которые могут быть полностью сложены из других слов,сцепление слов(конкатенация) - C++
найти слова которые могут быть полностью сложены из других слов,сцепление слов(конкатенация)

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kpoxaa
72 / 33 / 1
Регистрация: 03.08.2012
Сообщений: 446
09.11.2013, 13:52     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки #2
C++
1
char c=s[i];
тут вылетает...

Добавлено через 2 минуты
Текст ошибки говорит, что i не проинициализирована!

Добавлено через 1 минуту
Вот так вроде бы и логика работает и все запускается...

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
#include "stdafx.h"
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<locale.h>
#include <iostream>
 
using namespace std;
 
int words(char *s)
{
    int len=strlen(s), i, k=1, l=0;
    if(len==0)
        return 0;
    if(s[0]==' ')
        l=1;
    for(int j=l;j<len;j++)
    {
        char c=s[j];
        if(c==' ' || c=='\t' || c=='\n')
            k++;
    }
 
    return k;
}
 
void main()
{
    setlocale(LC_ALL,"RUSSIAN");
 
    char s[80];
    printf("\введите строку: ");
    cin>>s;
 
    int k = words(s);
    printf("\nkol=%d",k);
    getch();
}
Добавлено через 3 минуты
а не... не считает пробелы.

Добавлено через 2 минуты
C++
1
if(isspace(c) == 0) k++;
вот, посмотрите, для вашей задачи есть такая функция. возвращает 0 если символ является пробелом, знаком горизонтальной строки, или вертикальной. Табуляцией, символ возврата строки или каретки. Если не нашло возвращает NULL.
noomer
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 7
09.11.2013, 14:15  [ТС]     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки #3
Спасибо,но у меня задача просто такая-написать свою функцию подсчета слов
kpoxaa
72 / 33 / 1
Регистрация: 03.08.2012
Сообщений: 446
09.11.2013, 14:26     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки #4
Тогда посмотрите как реализована функция isspace, в пошаговом дебаге, через F8 зайдите в нее.

Добавлено через 1 минуту
И вообще это плохая практика изобретать велосипед. Вы и так написали свою функцию используя функции языка си. Вам ведь для того, чтобы текст выводить, не надо писать новый принтф... но вы уж сами смотрите как вам нужно. мое мнение имхо...

Добавлено через 51 секунду
Самый лучший программист тот, который уже берет готовое и умеет это применять))
noomer
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 7
10.11.2013, 17:43  [ТС]     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки #5
Я не спорю
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 17:47     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки
Еще ссылки по теме:

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

Подсчитать количество слов в заданной строке - C++
1. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Вывести на экран слова этого...

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

Подсчитать количество слов-перевертышей в заданной строке - C++
Следующий код не работает в чем проблема? #include &quot;stdafx.h&quot; #include&lt;iostream&gt; using namespace std; int main() { using...

Парсинг строк: подсчитать и вывести количество слов в заданной строке - C++
Прочитать из файла строку символов. Данная строка состоит из нулей, единиц и пробелов. Группы нулей и единиц, разделенные пробелами (одним...

Подсчитать в строке количество слов, которые заканчиваются на заданный символ - C++
1)Дан рядок, что вводиться с клавиатуры. Подсчитать количество слов, что заканчиваться на заданий символ. строки. (это строки). ...


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

Или воспользуйтесь поиском по форуму:
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.11.2013, 17:47     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки #6
Цитата Сообщение от kpoxaa Посмотреть сообщение
Самый лучший программист тот, который уже берет готовое и умеет это применять))
Ну и хорошо если он знает как это готовое работает, это хорошая практика, которая показывает как проектируется та или иная функция, эти знания можно взять на вооружение и затем уже свое создавать, например что нить такое чего нету готового, или использовать какой нить принцип.
Yandex
Объявления
10.11.2013, 17:47     Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки
Ответ Создать тему
Опции темы

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