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

Моя реализация функции перевода string в int - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структура «Железнодорожный состав» http://www.cyberforum.ru/cpp-beginners/thread741289.html
Создайте консольное приложение для решения задачи С++ Структура «Железнодорожный состав» с полями "номер поезда", "количество вагонов", "модель вагонов" (в одном составе используются вагоны одной модели). Бизнес-функция: расчёт длины состава по длине вагона для определенной модели (табл.). Модель вагона 10-4022 10-475 11-066 11-1709 11-1759
C++ Виртуальные функции Можете привести пример виртуальной функции с использованием ссылок? http://www.cyberforum.ru/cpp-beginners/thread741278.html
C++ Структура «Железнодорожный состав»
Структура «Железнодорожный состав» с полями "номер поезда", "количество вагонов", "модель вагонов" (в одном составе используются вагоны одной модели). Бизнес-функция: расчёт длины состава по длине вагона для определенной модели (табл.). Модель вагона Длина вагона(в м.) 10-4022 117,2 1--475 116,3 11-066 147,2 11-1709 ...
Другие виды списков C++
Помогите найти и исправить ошибку в задачке В текстовом файле заданы действительные числа. Выбрать из него убывающую последовательность наибольшей длины и вывести ее на экран. Если таких последовательностей несколько, то вывести их все в отдельной строке каждую. Для заполнения убывающих последовательностей формировать массив очередей, хранить для каждой очереди длину ее (количество...
C++ Наибольшее из трех чисел http://www.cyberforum.ru/cpp-beginners/thread741266.html
Составить функцию, которая получает три аргумента х, y, и z, и возвращает как результат наибольшее из х,y,z.
C++ Заменить каждую из групп точек одной точкой Ввести строку. Создать функцию, позволяющую заменить в заданной строке каждую из групп стоящих рядом точек одной точкой. Если знака <<.>> нет в строке, то вывести сообщение об етом.(использовать указатели). подробнее

Показать сообщение отдельно
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
21.12.2012, 22:52     Моя реализация функции перевода string в int
Цитата Сообщение от Wolkodav Посмотреть сообщение
Да ладно вам, человек решил сам написать функцию перевода, что ж вы тут на него с stl.
ну это дело хорошее
только посмотрел бы как другие делают

во первых вот это все
Цитата Сообщение от sovaz1997 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(a[i] == '0') {tmp = 0;}
else if(i == 0 && a[i] == '-') {anti = true; break;}//проверка числа (+ или -)
else if(a[i] == '1') {tmp = 1;}//"простой" перевод символа в цифру
 else if(a[i] == '2') {tmp = 2;}
 else if(a[i] == '3') {tmp = 3;}
 else if(a[i] == '4') {tmp = 4;}
 else if(a[i] == '5') {tmp = 5;}
 else if(a[i] == '6') {tmp = 6;}
 else if(a[i] == '7') {tmp = 7;}
 else if(a[i] == '8') {tmp = 8;}
 else if(a[i] == '9') {tmp = 9;}
else {
   return 0;//если строка будет иметь "не int-овый" вид
}
будет жутко тормозить
ветвление штука долгая
и меняется все это примерно на такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int n=1;
int m=0;
for(int i =0;i<a.size();i++)
 {
           if(i==0 && a[i]=='-')
                {
                  n=-1; 
                  continue;
                }
          if( '0'<=a[i] &&a[i]<='9')
               {
                m*=10;
                m+= a[i]-'0';
               }
          else
              {
                return 0;//если строка будет иметь "не int-овый" вид
              }
    }
return m*n;
 
Текущее время: 02:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru