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

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

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

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

09.11.2013, 12:37. Просмотров 496. Ответов 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*'"
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 12:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать в заданной строке число слов, которые могут быть разделены пробелом, табуляцией, переводом строки (C++):

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

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

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

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

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

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

5
kpoxaa
74 / 35 / 1
Регистрация: 03.08.2012
Сообщений: 447
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.
0
noomer
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 7
09.11.2013, 14:15  [ТС] #3
Спасибо,но у меня задача просто такая-написать свою функцию подсчета слов
0
kpoxaa
74 / 35 / 1
Регистрация: 03.08.2012
Сообщений: 447
09.11.2013, 14:26 #4
Тогда посмотрите как реализована функция isspace, в пошаговом дебаге, через F8 зайдите в нее.

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

Добавлено через 51 секунду
Самый лучший программист тот, который уже берет готовое и умеет это применять))
0
noomer
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 7
10.11.2013, 17:43  [ТС] #5
Я не спорю
0
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.11.2013, 17:47 #6
Цитата Сообщение от kpoxaa Посмотреть сообщение
Самый лучший программист тот, который уже берет готовое и умеет это применять))
Ну и хорошо если он знает как это готовое работает, это хорошая практика, которая показывает как проектируется та или иная функция, эти знания можно взять на вооружение и затем уже свое создавать, например что нить такое чего нету готового, или использовать какой нить принцип.
0
10.11.2013, 17:47
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...


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

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

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