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

Остановка вектора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение критерия делимости http://www.cyberforum.ru/cpp-beginners/thread449032.html
Помогите пожалуйста с нахождением критерия делимости большого десятичного числа, реализованное в виде массива байт, на число 293. Я не прошу писать за меня весь код, просто объясните пожалуйста принцип реализации данной задачи на C++. Заранее спасибо. :)
C++ Упорядочить три числа по возрастанию Помогите пожалуйста сделать!!! Нужно написать программку которая разрешает упорядочить три целых числа за ростом. Используя оператор < if > и логические операции!!! http://www.cyberforum.ru/cpp-beginners/thread449030.html
C++ Работа с файлами
Плиззз.Помогите.Нужно создать каталог файлов и занести в отдельный файл файлы с заданной спецификацией.
C++ Объясните про инициализацию
Реализовал свой класс для строки (в качестве практики изучения c++) class TString { char* p; int size; public: TString(){ size = 0; p = NULL; };
C++ Введите вектор с элементами double и сортируйте его по возрастанию. http://www.cyberforum.ru/cpp-beginners/thread449012.html
Помогите пожалуйста написать следующие программы. Хотя бы 2-3 штуки. Заранее спасибо. 1. Введите вектор с элементами double и сортируйте его по возрастанию. 2. Введите вектор с элементами float и найдите его длину. 3. Введите вектор и найдите его норму: модуль координаты с наибольшей абсолютной величиной. 4. Введите вектор и найдите его норму: сумму абсолютных величин координат. 5....
C++ Треугольник из кругов. Здравствуйте! Помогите нарисовать треугольник из нечетных кругов. Чтоб каждый ряд был разного цвета. Догадываюсь, что надо решать через цикл, а как реализовать не понимаю. подробнее

Показать сообщение отдельно
MartinSeptim
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 19
19.02.2012, 18:19     Остановка вектора
Здравствуйте! Помогите пожалуйста реализовать в ниже приведенном коде, как остановить функцию readlong как только появиться точка или запятая?

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
53
54
55
56
#include "StdAfx.h"
#include "conio.h"
#include <iostream>
#include <vector>
#include <iomanip>
#include <string>
#include <cstdlib>
#define BASE 10
#define LEN 1
 
typedef std::vector <int> type;
 
void readlong (type &);
void mult (type &, type &, type &);
 
int main()
{
    type a, b, c, d, rez;
 
    std::cout << "First long number: "; 
    readlong (a);
    std::cout << "Second long number: ";
    readlong (b);
 
    mult (a, b, rez); //использование умножения
 
    std::cout << rez.back ();
    for (int i = rez.size () - 2; i >= 0; i--)
        std::cout << rez[i];
 getch();
    return 0;
}
 
void readlong (type &vec)
{
    std::string str;
    std::cin >> str;
 
    for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
 
void mult (type &a, type &b, type &rez)
{
    rez.resize (a.size() + b.size());
    for (int i = 0; i < a.size(); ++i)
        for (int j = 0, carry = 0; j < b.size() || carry; ++j) //сarry вес разряда
        {
            long long cur = rez[i+j] + a[i] * (j < b.size() ? b[j] : 0) + carry;
            rez[i+j] = cur % BASE;
            carry = cur / BASE;
        }
 
    while (rez.size() > 1 && rez.back() == 0)
        rez.pop_back();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru