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

Преобразовать символьную запись целого десятичного числа без знака в целое число - C++

Восстановить пароль Регистрация
 
Farsait
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 9
24.01.2010, 22:27     Преобразовать символьную запись целого десятичного числа без знака в целое число #1
Преобразовать символьную запись целого десятичного числа без знака в целое число. В записи исходного числа могут быть пробелы (до и после числа) после числа могут быть и другие записи.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2010, 22:27     Преобразовать символьную запись целого десятичного числа без знака в целое число
Посмотрите здесь:

Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака C++
Перевод целого десятичного числа в строку и обратно в десятичное число C++
C++ Перевод отрицательного целого десятичного числа в двоичное
C++ Перевод отрицательного целого десятичного числа в двоичное
Преобразовать символьное представление целого числа в целое число без использования стандартных функций C++
Программа перевода целого числа без знака в двоичную систему счисления C++
Программа перевода целого числа без знака в двоичную систему счисления C++
C++ Подсчитать количество цифр целого десятичного числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
smithy69
17 / 16 / 1
Регистрация: 06.11.2009
Сообщений: 167
24.01.2010, 22:50     Преобразовать символьную запись целого десятичного числа без знака в целое число #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
void StrToInt_mas(TStrings *memo,vector <int> &mas)
{
 count_my=memo->Count;
 if (count_my==0) {
                   ShowMessage("Введите массив, который нужно отсортировать");
                  }
 razmer=new int[count_my];
 for(int i=0;i<count_my;i++)
 {
  razmer[i]=memo->Strings[i].Length();
  i++;i--;
 }
 schet=0;
 AnsiString chislo="";
 for (int i=0;i<count_my;i++)
 {
  for (int j=0;j<razmer[i];j++)
  {
   if (memo->Strings[i].c_str()[j]!=' ') {
                                                  chislo=chislo+memo->Strings[i].c_str()[j];
                                                 }
 
    else {
          if (memo->Strings[i].c_str()[j-1]==' ') continue;
          if (chislo!="") {
                     try {
                          mas.push_back(StrToInt(chislo));
                          chislo="";
                         }
                     catch (...) {
                                  ShowMessage("Формат входных данных не верен");
                                 }
                    }
         }
    if (j==razmer[i]-1) {
                         try {
                              mas.push_back(StrToInt(chislo));
                              chislo="";
                             }
                         catch (...) {
                                         ShowMessage("Формат входных данных не верен");
                                        }
                        }
  }
 }
}
обрабатывает текст, в котором встречаются пробелы и числа. Работал с MEMO, поэтому передавал в процедуру TStrings.
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
25.01.2010, 10:04     Преобразовать символьную запись целого десятичного числа без знака в целое число #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Farsait,
Цитата Сообщение от Farsait Посмотреть сообщение
Преобразовать символьную запись целого десятичного числа без знака в целое число
Цитата Сообщение от Farsait Посмотреть сообщение
могут быть пробелы ... и другие записи
без проверки на переполнение, при sizeof (size_t) == 4
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
#include<iostream>
 
//--------------------------------------------------------------------
void atou ( const char *a, size_t &u ) 
{
    size_t t(1);
    //----------------------------------------
    for ( int i = strlen(a) - 1; i >= 0; --i )
    {        
        if (  a[i] >= '0' && a[i] <= '9' )
        {   
            u += ( a[i] - '0' ) * t;
            t *= 10;        
        }
    }//---------------------------------------  
}
 
int main ()//=========================================================
{
size_t u(0);
const char a[] = " UINT_MAX == 4 294 967 295 "; 
    
    std::cout << a << std::endl;
    atou ( a, u );
    std::cout << u << std::endl;
 
return 0;
}//===================================================================
Yandex
Объявления
25.01.2010, 10:04     Преобразовать символьную запись целого десятичного числа без знака в целое число
Ответ Создать тему
Опции темы

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