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

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

Войти
Регистрация
Восстановить пароль
 
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
#1

Проверьте и листинг и подскажите по операции - C++

10.05.2011, 07:44. Просмотров 313. Ответов 6
Метки нет (Все метки)

Проверьте и листинг и подскажите по операции
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
 
int CountLetters(char* s)
{
    if(s[0]=='.')
    {
        return 0;
    }
    else
    {
        if(s[0]==' ')
        {
            return CountLetters(++s);
        }
        else
        {
            return CountLetters(++s)+1;
        }
    }
}
 
void main()
{
    clrscr();
    cout<<"Enter string"<<endl;
    char* s;
    cin.get(s,255);
    cout<<CountLetters(s)<<" letters"<<endl;
    getch();
}
Куда здесь сохраняется +1. Программа подсчитывает количество букв в слове до точки.

Добавлено через 2 минуты
то что (++s) это понятно что переход на след символ в массиве.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2011, 07:44     Проверьте и листинг и подскажите по операции
Посмотрите здесь:

Проверьте листинг - C++
фукция y=f(x) при x&lt;-3 y=cos(x)/(x+10) при -3&lt;=x&lt;4 y=e^(0,1*x) при 4&lt;=x&lt;6 y=lg(x) при x&gt;=6 y=sin^2(x) ...

Проверьте листинг данного задания - C++
Проверьте правильно ли я понял задания? напишите функцию с именем swap(), обменивающую значениями два своих аргумента типа int (обратите...

Проверьте листинг (пару строк) - C++
Почему из-за || ',' ничего не копирует а если оставить только if(str1=='$') то все нормально? И кто предложит лучший алгоритм по...

Проверьте и подскажите - C++
#include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int main(){ double a,b,h,R,ff,S; int k; printf(&quot;Vubirite 1 iz...

Проверьте и подскажите. Градусы - C++
Приветствую:) В общем вот код, приводит из введенного количества градусов время в пределах 12 часов. Но в минутах (13 строчка) выдает...

есть график, проверьте правильно ли программа? и подскажите как задать в программе интервал? - C++
вот есть график, проверьте правильно ли программа? и подскажите как задать в программе интервал? График: И что бы он был вот...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
10.05.2011, 08:14     Проверьте и листинг и подскажите по операции #2
рискну предположить, что написано тут неправильно. Она у тебя работает? Просто под S вроде как надо память сначала выделить, у меня вижуал студио обругался. Я выделил память, но всё равно в функции runtime error. Могу предложить такой вариант:
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
 
int CountLetters(char* s)
{
        unsigned short int  i       = 0;
 
        while (s[i] != '.' && s[i] != 0) {
            i++;
        }
        return i;
}
 
void main()
{
        //clrscr();
        cout<<"Enter string"<<endl;
        char* s = new char[255];
        cin.get(s,255);
        cout<<CountLetters(s)<<" letters"<<endl;
        getch();
}
не стал париться с рекурсиями. Программа подсчитывает количество символов пока не встретит точку или конец строки
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
10.05.2011, 08:15  [ТС]     Проверьте и листинг и подскажите по операции #3
Программа работает. Но надо именно через рекурсию. а память здесь выделять не надо тут сделано за счет cin.get(s,255);
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
10.05.2011, 08:25     Проверьте и листинг и подскажите по операции #4
http://www.cplusplus.com/reference/i...m/istream/get/

чё то там не написано, что get память выделяет под char
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
10.05.2011, 08:26  [ТС]     Проверьте и листинг и подскажите по операции #5
да под массив символов типо строки необязательно выделять память. Да и вопрос в теме не идет об этом.
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
10.05.2011, 08:27     Проверьте и листинг и подскажите по операции #6
Цитата Сообщение от .Malek. Посмотреть сообщение
Программа работает. Но надо именно через рекурсию. а память здесь выделять не надо тут сделано за счет cin.get(s,255);
1. Нифига get не выделяет. 255 в данном случае - это ограничение количества вводимых символов.
2. +1 в стеке сохраняется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2011, 08:27     Проверьте и листинг и подскажите по операции
Еще ссылки по теме:

Операции инкремента и декремента (префиксная и постфиксная версия). Подскажите. - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main () { setlocale(LC_ALL,...

Подскажите библиотеку, в которой реализованы все основные операции с комплексными матрицами (среда MS VS 2008) - C++
Здравствуйте. Подскажите, пожалуйста, библиотеку в которой реализованы все основные операции с комплексными матрицами. Работаю в VS2008.

Листинг директории - C++
Здравствуйте! Начал изучать С++. Хочу написать консольную программу в среде Visual C++ 2008 вывода содержимого текущей директории. Из...

Перегрузить операции сравнения комплексных чисел и операции потокового вывода - C++
Создать класс комплексное число. Перегрузить операции сравнения комплексных чисел! =, ==,&gt;, &lt;,&gt; =, &lt;= И операции потокового ввода-вывода. ...


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

Или воспользуйтесь поиском по форуму:
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
10.05.2011, 08:27  [ТС]     Проверьте и листинг и подскажите по операции #7
а как реализовать по другому чтобы сохраняла?
Yandex
Объявления
10.05.2011, 08:27     Проверьте и листинг и подскажите по операции
Ответ Создать тему
Опции темы

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