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

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

Войти
Регистрация
Восстановить пароль
 
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
#1

String & Series - C++

01.10.2009, 17:29. Просмотров 936. Ответов 12
Метки нет (Все метки)

У меня есть 2 задачи: 1.Дана строка. Подсчитать количество содержащихся в ней цифр.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <math.h>
void main()
{ char S[80];
    int sum=0,i;      
    switch(S[i])
    {
           case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':sum++;
    }
    printf("%f",sum);
}
// Я не понимаю как ввести строку, как это записать, и как её вывести, пока что я смог написать это.


Задача 2. Дано целое число К и набор ненулевых целых чисел; признак его завершения-число 0. вывести номер первого числа в наборе, большего К. Если таких чисел нет, то вывести 0.

В этой задаче я вообще тёмный лес, так что прошу вашей помощи...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2009, 17:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос String & Series (C++):

В чём разница между возвратом "string" и "const string&" & - C++
class test { public: test(const string&amp; text) { this-&gt;text = text; } string getText() { return text;

Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) - C++
Добрый день. Как осуществляется выделения памяти под перегруженный оператор ввода данных в пользовательский тип? Ведь мы заранее не можем...

Принимать string или string& - C++
Нужно принимать аргумент string&amp;, если передается string, и string, если передается не string Лучше сформулировать сходу не получилось,...

(const string &) - C++
Есть класс class Someclass { public: Someclass( const string &amp;one ) { cout &lt;&lt; one; } };

Возврат std::string& - C++
string&amp; foo(const string &amp;s) { return string(s); } ... string str = foo(&quot;test&quot;); //Необработанное исключение по адресу...

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;) - C++
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H #include &lt;string&gt; class A { ...

12
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
01.10.2009, 17:47 #2
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Подсчитать количество содержащихся в ней цифр.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main(){
    int c, count;
    
    count = 0;
    while ( (c = getchar()) != EOF ){
        if ( c >= '0' && c <= '9' )
            count++;
        if ( c == '\n' ){
            printf("%d digits in row\n", count);
            count = 0;
        }
    }
    return 0;
}
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.10.2009, 17:59  [ТС] #3
easybudda, а что за EOF подскажи пожалуйста, ато мы такого еще не учили
0
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
01.10.2009, 18:17 #4
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Дано целое число К и набор ненулевых целых чисел; признак его завершения-число 0. вывести номер первого числа в наборе, большего К. Если таких чисел нет, то вывести 0.
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
46
47
48
49
50
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ARRSIZ 10
 
int main(){
    int arr[ARRSIZ];
    int i;
    int k;
    
    srand(time(0));
    
    
    
    /* число для поиска */
    while ( 1 ){
        printf("Enter number or 0 to exit: ");
        if ( !scanf("%d", &k) ){
            fprintf(stderr, "Something is wrong!\n");
            exit(1);
        }
        if ( !k )
            break;
        
        /* числа в массиве - случайные от 1 до 10. последнее - 0, чтоб было, как в задании */
        for ( i = 0; i < ARRSIZ - 1; i++ )
            arr[i] = rand() % 10 + 1;
        arr[i] = 0;
        
        /* вывод всего массива */
        printf("Original array:\n");
        for ( i = 0; i < ARRSIZ; i++ )
            printf("Array[%d] = %d\n", i, arr[i]);
            
        /* поиск большего, чем к значения. по условию - пока не встретится нулевой элемент */
        i = 0;
        while ( arr[i] != 0 )
            if ( arr[i] > k ){
                printf("First in array more than %d is:\n", k);
                printf("Array[%d] = %d\n", i, arr[i]);
                break;
            }
            else
                i++;
        if ( arr[i] == 0 )
            printf("0 elements more then %d\n", k);
    }
    return 0;
}
Добавлено через 4 минуты
Bloodykeeper, End Of File - признак окончания файла. Можно сказать, означает, что входных данных больше не будет.
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.10.2009, 18:26  [ТС] #5
ты написал очень сложно, в инсте сразу скажут что не я писал, это всё можно гораздо проще писать вроде бы....но я не знаю как...
0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
01.10.2009, 19:02 #6
Bloodykeeper,
1.Дана строка. Подсчитать количество содержащихся в ней цифр.
C++
1
2
3
4
5
#include <algorithm>
#include <ctype.h>
 
std::string s = "zzz123xxx";
size_t digits = std::count_if(s.begin(), s.end(), &isdigit);
1
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,339
Завершенные тесты: 1
01.10.2009, 20:13 #7
C
1
2
3
4
5
6
int c=0;
int n=0;//счетчик
while((c=getchar)!=EOF){
if(c>='0' && c<='9')++n;
}
cout<<n;//вывод
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 14:20  [ТС] #8
Сложно-я имел ввиду про набор К а не про строку) может ктото знает как написать проще?
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,339
Завершенные тесты: 1
02.10.2009, 19:14 #9
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Сложно-я имел ввиду про набор К а не про строку) может ктото знает как написать проще?
что именно
0
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 22:20  [ТС] #10
там куча неизвестых функций, писать надо из : #include:<stdio.h>,<math.h>,<conio.h>.
for,if,while, а там array- а что это такое-хз
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,339
Завершенные тесты: 1
02.10.2009, 22:23 #11
приведи пример,ничего не понял
0
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
02.10.2009, 22:48 #12
Bloodykeeper, ну вот тебе - проще некуда!
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
#include <stdio.h>
 
int main(){
    int massiv[10] = { 3, 1, 5, 2, 4, 3, 7, 2, 0, 9 }; /* массив из 10 элементов */
    int K;
    int i;
    
    /* Вывод значений массива */
    for ( i = 0; i < 10; i++ )
        printf("massiv[%d] = %d\n", i, massiv[i]);
    
    /* Поиск элемента массива, большего, чем К. Поиск прекращается, если очередной элемент равен 0 */
    K = 6;
    printf("\nK = %d\n", K);
    for ( i = 0; i < 10; i++ ){
        if ( massiv[i] == 0 ){
            /* Если таких чисел нет, то вывести 0. */
            printf("0\n");
            break;
        }
        if ( massiv[i] > K ){
            printf("massiv[%d] = %d\n", i, massiv[i]);
            /* элемент найден, выйти из цикла */
            break;
        }
    }
    
    K = 8;
    printf("\nK = %d\n", K);
    for ( i = 0; i < 10; i++ ){
        if ( massiv[i] == 0 ){
            /* Если таких чисел нет, то вывести 0. */
            printf("0\n");
            break;
        }
        if ( massiv[i] > K ){
            printf("massiv[%d] = %d\n", i, massiv[i]);
            /* элемент найден, выйти из цикла */
            break;
        }
    }
    
    return 0;
}
каким боком прикрутить math.h так и не придумал, а conio.h у меня просто отсутствует.
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 22:56  [ТС] #13
пасиб большое))
0
02.10.2009, 22:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 22:56
Привет! Вот еще темы с ответами:

cannot convert parameter 1 from 'int' to 'std::string &' - C++
string kolvo(string &amp;S, int &amp;k) { unsigned int i; for(i=1; i&lt;S.length(); i++) if(S=='B' &amp;&amp; S==' ') k=k+1; } ...

Поясните синтаксис - ( std::string& x: bar ) - C++
Наткнулся здесь на использование двоеточия для какого-то рода инициализации ссылки, но не понимаю ни синтаксиса, ни механизма работы: ...

Writefile() & String - В контроллер приходит не то, что было отправлено - C++
Почему отправляю в com порт &quot;Device?\n&quot; а в котроллер приходит &quot;ppDevice?\n&quot; ???? void Com::Send_package(String str) { char...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration? - C++
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...


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

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

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