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

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

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

String & Series - C++

01.10.2009, 17:29. Просмотров 919. Ответов 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.

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

(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;); //Необработанное исключение по адресу...

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...

Классы && С++ Отложение объявление на потом - C++
У меня есть базовый класс (StudentDataBase) который я в дальнейшем хочу наследовать, но тут идёт привязка к Student fmog, как я могу...

Оператор if и логическая операция И (AND) && - C++
Вод подскажите что будет быстрей обрабатываться процессором: if(!a&amp;&amp;!b) { a+b; } или

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9458 / 5471 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
01.10.2009, 17:47     String & Series #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;
}
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.10.2009, 17:59  [ТС]     String & Series #3
easybudda, а что за EOF подскажи пожалуйста, ато мы такого еще не учили
easybudda
Эксперт С++
9458 / 5471 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
01.10.2009, 18:17     String & Series #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 - признак окончания файла. Можно сказать, означает, что входных данных больше не будет.
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.10.2009, 18:26  [ТС]     String & Series #5
ты написал очень сложно, в инсте сразу скажут что не я писал, это всё можно гораздо проще писать вроде бы....но я не знаю как...
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
01.10.2009, 19:02     String & Series #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);
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,233
Завершенные тесты: 1
01.10.2009, 20:13     String & Series #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;//вывод
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 14:20  [ТС]     String & Series #8
Сложно-я имел ввиду про набор К а не про строку) может ктото знает как написать проще?
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,233
Завершенные тесты: 1
02.10.2009, 19:14     String & Series #9
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Сложно-я имел ввиду про набор К а не про строку) может ктото знает как написать проще?
что именно
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 22:20  [ТС]     String & Series #10
там куча неизвестых функций, писать надо из : #include:<stdio.h>,<math.h>,<conio.h>.
for,if,while, а там array- а что это такое-хз
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,233
Завершенные тесты: 1
02.10.2009, 22:23     String & Series #11
приведи пример,ничего не понял
easybudda
Эксперт С++
9458 / 5471 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
02.10.2009, 22:48     String & Series #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 у меня просто отсутствует.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 22:56     String & Series
Еще ссылки по теме:

Не работает gettimeofday(&tv1, &tz); - C++
#include &lt;iostream&gt; //#include &lt;сtime&gt; #include &lt;time.h&gt; #include &lt;windows.h&gt; #include &lt;math.h&gt; using namespace std; const...

Что это такое **&amp;? - C++
Здравствуйте! как загуглить,

Объясните почему не срабатывает И (&&) - C++
Есть задача нахождения наибольшего общего делителя для двух чисел. Программу я написал.Но почему когда я указывал в цикле И (&amp;&amp;), цикл...

условие if (x && y && z ) - C++
День добрый. подскажите что не так: if(norcub() &amp;&amp; nevk() &amp;&amp; norok()) { cout&lt;&lt;&quot;Условие не выполнено.\n&quot;; count=30; } // эти 3...

Undefined reference to 'My_lab2::serialize_child(My_lab2::My_stack&,boost::interpro cess::file_lock&)') - C++
Компилирую test: g++ test.cpp -L. -lwrk -lboost_serialization -o programwrk -std=c++0x Так же компилирую libwrk до компиляции...


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

Или воспользуйтесь поиском по форуму:
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 22:56  [ТС]     String & Series #13
пасиб большое))
Yandex
Объявления
02.10.2009, 22:56     String & Series
Ответ Создать тему
Опции темы

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