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

Найти суммы чисел, записанных в строке, между нулями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построение дифракционной картины http://www.cyberforum.ru/cpp-beginners/thread1490598.html
Нарушен п.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Перепишите! Смысл задания таков: Сделать первый цикл по точкам на экране. В этом цикле, рассматривая каждую точку считать расстояние до каждой точки от отверстий (их тоже дробить надо на множество точечных источников). Потом складывать все волны в данной точке на экране и идти к...
C++ Вывод сообщения в левой части экрана Подскажите пожалуйста как сделать,чтобы сообщение выводилось н экран не в левой части экрана ,а в правой ? http://www.cyberforum.ru/cpp-beginners/thread1490576.html
C++ Получить в порядке убывания все делители данного числа
Получить в порядке убывания все делители данного числа.
C++ Runtime error при выборе одного из пунктов программы
#include <iostream> #include <cstdlib> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #include <sstream> using namespace std;
C++ Resize вектора вызывает ошибку http://www.cyberforum.ru/cpp-beginners/thread1490554.html
std::vector<MyClass*> vec; vec.resize(1, NULL) vec = new MyClass(); vec.resize(5, NULL); // Тут возникает ошибка Ошибка в файле xmemory в функции "_Destroy_range" Если же перед использованием вектора зарезвервировать память vec.reserve(10), то ошибки не возникает. Я так понимаю, когда увеличиваю вектор, он выделяет новую память с новым размером, и туда пытается перенести существующие...
C++ Ошибка в коде - не могу найти Здравствуйте, подскажите пожалуйста, в чём проблема. Без последней строки cout<<count; в методе Show программа закрывается. Со строкой программа отрабатывает нормально но неправильно работает String String::Copy() (VS 2012, VS 2013) Заранее спасибо! #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string.h> using namespace std; class String { char *str; int count; public:... подробнее

Показать сообщение отдельно
Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
30.06.2015, 19:44     Найти суммы чисел, записанных в строке, между нулями
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
51
52
#include <iostream>
#include <cctype>
 
enum state {
    s_zero, s_number, s_end
};
 
state m_next(const char*& s, size_t& n){
    state st;
 
    if(! *s)
        st = s_end;
    else {
        while(*s && ! std::isdigit(*s))
            ++s;
 
        if(*s == '0'){
            ++s;
            st = s_zero;
        } else {
            for(n = 0; std::isdigit(*s); ++s)
                n = n*10 + (size_t)(*s - '0');
            st = s_number;
        }
    }
    return st;
}
 
 
int main(void){
    char  s[] = "1 2 4 0 4 4 5 0 32 21 35 0 3 0";
 
    state  st;
    size_t n;
 
    size_t sum = 0;
    const char* ptr = &s[0];
    do {
 
        switch((st = m_next(ptr, n))){
        case s_number:
            sum += n;
            break;
        case s_zero:
            std::cout << "sum: " << sum << std::endl;
            sum = 0;
            break;
        }
 
    } while(st != s_end);
    return 0;
}
Результат работы кода
 
Текущее время: 08:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru