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

Поиск бинарных чисел в строке символов и их преобразование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в double http://www.cyberforum.ru/cpp-beginners/thread721156.html
Приветствую! Недавно делая простую программу встретился с проблемой - при работе с числами типа double возникают ошибки. Пример double a(-2), b(0.1); a += b; По идеи a должно быть равно -1.9, но вот что получаю я: http://s58.***********/i162/1212/95/e7a568fc4b6c.png Как мне побороть такие ошибки? Вот код, если нужен: while (x < xend) { //x изначально равно -2
C++ Не рабочий ИИ в программе "Крестики-Нолики" Возникла проблема при написании программы "Крестики-Нолики" После трех ходов ИИ перестает ходить. Помогите мне пожалуйста в этой проблеме. #include <iostream> using namespace std; char matrix; //матрица игры bool vulnerable(int mat); bool winnable(int mat); int row, col, diag; http://www.cyberforum.ru/cpp-beginners/thread721146.html
Абстрактные структуры данных C++
добрый вечер всем. Не понимаю как реализовать функцию insert(x,p,L), где элемент х вставляется в позицию р списка L, смог добиться только удаления элементов. // linklist.cpp // список #include <iostream> #include <conio.h> using namespace std; /////////////////////////////////////////////////////////// struct link // один элемент списка { int data; // некоторые данные
Не корректно работает программа (Упорядочить элементы матрицы) C++
Условие: Дана матрица целых чисел N* M.Упорядочить элементы матрицы так чтобы четные элементы матрицы максимально плотно заняли верхнюю часть матрицы,а не четные нижнюю. Код: #include <iostream> #include <cmath> using namespace std; void sort( int **a, const int nstb, const int nstr); int main(){ cout <<"Vvedite razmer massiva\n";
C++ уплотнение памяти http://www.cyberforum.ru/cpp-beginners/thread721136.html
помогите исправить ошибку в коде. условие: Реализовать заданную стратегию управления памятью. Реализовать базовые операции управления оперативной памятью. - Выделение блока памяти заданного размера; - высвобождение выбранного блока; - уплотнение памяти. //#include "stdafx.h" #include <stdio.h> #include<string.h>
C++ Прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла Здравствуйте. Столкнулся с такой проблемой: необходимо прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла. Делаю так: #include <iostream> #include <string> using std::cin; using std::cout; using std::string; using std::endl; int main (){ подробнее

Показать сообщение отдельно
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
06.12.2012, 04:15     Поиск бинарных чисел в строке символов и их преобразование
Добрый вечер. Нужна помощь в реализации программы.
Задача:
Кликните здесь для просмотра всего текста
Дана строка символов, в которой содержатся числа в двоичной системе записанные в формате <числа>,< числа>(1.1, 1010.01) - но это не обязательное условие. Нужно найти в строке эти числа, перевести в десятеричную систему и вывести сумму этих чисел. Строка заканчивается ";".

Если перед числом стоит "-" то при подсчете суммы число учитывается как отрицательное. На примере показано.

Примеры:
Кликните здесь для просмотра всего текста
Примерный вид строки: abc<=d@10be-11a1,1be;
Содержание: 10, -11, 1.1
Операции: 10-11+1.1 (все в двоичной системе) или 2-3+1.5(если не ошибаюсь)
На вывод: 0,5

Или так: fka>?oqja1001,01 jak@al-1,1sh;
На вывод: 7.75


Поиск по строке можно сделать как-то так:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool havenumber(char z)
{
    return z>='0' && z<='9';
}
char findnumber()
{
char z;
do
    cin >> z;
    while (!havenumber(z));
    return z;
}

Или так с выводом уже:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
char str[20];
    char *pStr;
    short isNumber = 0;
 
    gets(str);
    pStr = str;
    while (*pStr) {
        if (*pStr >= '0' && *pStr <= '9') {
            isNumber = 1;
            printf("%c", *pStr);
        } 
        
        else {
            if (isNumber) {
                isNumber = 0;
                printf(" ");
            }
        }
        pStr++;
    }

Но как включить туда еще случай, когда перед числом стоит "-"? Вообщем вся проблема состоит в этом поиске чисел, включая случай когда перед числом стоит "-". Все остальное не вызывает никаких вопросов.

Буду признателен за вашу помощь. Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru