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

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

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

String & Series - C++

01.10.2009, 17:29. Просмотров 857. Ответов 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
Посмотрите здесь:

C++ cannot convert parameter 1 from 'int' to 'std::string &'
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9& C++
C++ как правильно понять тип bool ? bool true(const string &str) и что дает это значение ?
Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) C++
Как проверить, принадлежит ли символ заданному диапазону m...n, кроме if (c <= n && c >= m) ? C++
Поясните синтаксис - ( std::string& x: bar ) C++
(const string &) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.10.2009, 17:59  [ТС]     String & Series #3
easybudda, а что за EOF подскажи пожалуйста, ато мы такого еще не учили
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.10.2009, 18:26  [ТС]     String & Series #5
ты написал очень сложно, в инсте сразу скажут что не я писал, это всё можно гораздо проще писать вроде бы....но я не знаю как...
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 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
 Аватар для ^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,216
Завершенные тесты: 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!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
02.10.2009, 14:20  [ТС]     String & Series #8
Сложно-я имел ввиду про набор К а не про строку) может ктото знает как написать проще?
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,216
Завершенные тесты: 1
02.10.2009, 19:14     String & Series #9
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Сложно-я имел ввиду про набор К а не про строку) может ктото знает как написать проще?
что именно
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
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
 Аватар для ^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,216
Завершенные тесты: 1
02.10.2009, 22:23     String & Series #11
приведи пример,ничего не понял
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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
Еще ссылки по теме:

Writefile() & String - В контроллер приходит не то, что было отправлено C++
В чём разница между возвратом "string" и "const string&" & C++
Friend ostream& operator<<(ostream& stream, CArr& obj); C++
C++ Возврат std::string&
C++ Порядок вычисления: операторы «|» и «||», «&» и «&&»

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

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

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