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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
LeeZa
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 43
#1

Символ строки преобразовать в цифру - C++

13.04.2014, 23:07. Просмотров 887. Ответов 20
Метки нет (Все метки)

Нужно преобразовать именно в цифру, а получается, что переменная (int) накапливает цифры и получается числом. о_О! В чем ошибка? Как сделать правильно?

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
#include "iostream"
#include "stdio.h"
#include <string>
#include <clocale>
   using namespace::std;
 
void main()
{
    setlocale(LC_CTYPE, "rus");
    char s1[255], s2[255], R[255], str[255];
    int first, second, result, raznitsa, size;
 
    cout<<"Введите 1-ое число :";
    cin>> str;
    strcpy( s1, "0" );  
    strcat(s1, str);
    cout<<"Введите 2-ое число :";
    cin>> str;
    strcpy( s2, "0" );  
    strcat(s2, str);
    strcpy( str, "0" );
    cout << "Числа: s1= " << s1 << ", а s2= " << s2 << endl << endl;
    
    if(strlen(s1) > strlen(s2)) size=strlen(s1);
    else size=strlen(s2);
 
    for (int i=size-1; i>=0; i--)
    {
        first=atoi(&s1[i]);
        second=atoi(&s2[i]);
        cout << "s1= " << s1[i] << ", a s2= " << s2[i] << "---------  first= " << first << ", a second= " << second << endl;
 
        result= first+second;
 
        R[i]=result;
        cout << "R[" << i << "]= "<< R[i] << endl;
    }
 
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 23:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Символ строки преобразовать в цифру (C++):

Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания - C++
Нужно преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания. Например: «3 слона» -&gt; «_ _...

Как преобразовать первый символ строки в переменную char? - C++
string str = &quot;hello&quot;; char ch; хочу чтобы в переменной &quot;ch&quot; лежал символ &quot;h&quot; Это в идеале, если возможно без дополнительных...

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_» - C++
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в...

Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым - C++
я написал код но не могу разобраться. вот дано : ---------------------------------------------------------- В текстовом файле fin.txt...

Найти символ первой строки, который первым не совпал с одним из символов второй строки. Вывести слово, в которое входит этот символ - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

Преобразовать строку, удалив каждый символ «*» и повторив каждый символ, отличный от «*» - C++
Дана строка. Преобразовать ее, удалив каждый символ «*» и повторив каждый символ, отличный от «*». Помогите пожалуйста.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
newbie666
Заблокирован
13.04.2014, 23:23 #2
что не так то? конкретно проблемму озвучь
0
MegaCoder
6 / 2 / 1
Регистрация: 10.03.2014
Сообщений: 17
14.04.2014, 00:01 #3
из char преобразовать в цифру, которая - ascii код или которая число?, мне показалось или ты в одном int собрался хранить несколько других переменных(цифр).
Складывая 2 + 3 ты хочешь 5, или 23 ??
0
LuckyWolf
0 / 0 / 5
Регистрация: 12.04.2014
Сообщений: 18
14.04.2014, 00:26 #4
Запустил, получились цифры
0
LeeZa
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 43
14.04.2014, 00:53  [ТС] #5
не ascii, а именно саму цифру! я хочу 5 получить, если 2+3
0
IrineK
Заблокирован
14.04.2014, 00:57 #6
Цитата Сообщение от LeeZa Посмотреть сообщение
Как сделать правильно?
Объясните, что нужно сделать.
0
newbie666
Заблокирован
14.04.2014, 00:57 #7
Цитата Сообщение от LeeZa Посмотреть сообщение
е ascii, а именно саму цифру! я хочу 5 получить, если 2+3
что конкретно тебя не устраивает, где в твоём коде у тебя затруднения?
0
IrineK
Заблокирован
14.04.2014, 00:58 #8
Цитата Сообщение от LeeZa Посмотреть сообщение
я хочу 5 получить, если 2+3
А хотите получить 55 если 33 +22?
0
newbie666
14.04.2014, 00:59
  #9

Не по теме:

Цитата Сообщение от IrineK Посмотреть сообщение
А хотите получить 55 если 33 +22?
ты женщина что ли ?

0
LeeZa
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 43
14.04.2014, 01:06  [ТС] #10
Цитата Сообщение от newbie666 Посмотреть сообщение
что конкретно тебя не устраивает, где в твоём коде у тебя затруднения?
C++
1
2
first=atoi(&s1[i]);
        second=atoi(&s2[i]);
эти переменные получают код ascii, а мне нужны сами цифры, чтобы потом их сложить.

Добавлено через 35 секунд
Цитата Сообщение от IrineK Посмотреть сообщение
А хотите получить 55 если 33 +22?
Ну естественно!
0
IrineK
Заблокирован
14.04.2014, 01:07 #11
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

newbie666,
По фотке не видно?



Добавлено через 40 секунд
Цитата Сообщение от LeeZa Посмотреть сообщение
Ну естественно!
Ну получайте

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
#include <iostream>
#include <sstream>
using std::cout;
using std::cin;
using std::string;
using std::istringstream;
 
 
int main () 
{   setlocale(LC_CTYPE, "Russian");
    string s1, s2;
    int first, second;
 
    cout<<"Введите 1-ое число: ";
    cin>> s1;
    cout<<"Введите 2-ое число: ";
    cin>> s2;
   
    istringstream iss;
    iss.str(s1);
    iss >> first;
    iss.str("");            
    iss.clear();
    iss.str(s2);
    iss >> second;
 
     cout<<"Сумма: " << s1 << " + " << s2 << " = " << first + second;
 
    cin.sync(); cin.get();
    return 0;
}
1
newbie666
14.04.2014, 01:08
  #12

Не по теме:

Цитата Сообщение от IrineK Посмотреть сообщение
По фотке не видно?
ну мало ли, может это не твоя

0
IrineK
Заблокирован
14.04.2014, 01:48 #13
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
LeeZa,
Если вам обязательно нужен char, то и в этом случае есть варианты.

Добавлено через 21 минуту
Вариант 1

Такой же, как и со string, только поменять строку 11 на
C++
1
char s1[15], s2[15];
Вариант 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using std::cout;
using std::cin;
 
int main () 
{   setlocale(LC_CTYPE, "Russian");
    char s1[15], s2[15];
    int first, second;
 
    cout<<"Введите 1-ое число: ";
    cin>> s1;
    cout<<"Введите 2-ое число: ";
    cin>> s2;
  
    sscanf(s1, "%d", &first);
    sscanf(s2, "%d", &second);
 
     cout<<"Сумма: " << s1 << " + " << s2 << " = " << first + second;
 
    cin.sync(); cin.get();
    return 0;
}
1
newbie666
14.04.2014, 02:08
  #14

Не по теме:

IrineK, ты препод что ли?

0
IrineK
Заблокирован
14.04.2014, 02:21 #15

Не по теме:

Цитата Сообщение от newbie666 Посмотреть сообщение
IrineK, ты препод что ли?
Не, я - антипрепод.



Добавлено через 5 минут

Не по теме:

Препод типа учит, вы - типа учитесь, а мне - все это разгребать.

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 02:21
Привет! Вот еще темы с ответами:

Преобразовать строку, удалив каждый символ * и удвоив каждый символ, отличный от * - C++
Дана строка преобразовать ее, удалив каждый символ * и удвоив каждый символ отличный от *.

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от * - C++
Кто может решить задачки по С++? Решите плиз 1. Дана строка. Указать те слова, которые содержат хотябы одну букву k. 2. Дана строка,...

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от * - C++
Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *. Помогите решить, писал тоже самое на...

Преобразовать строку, вырезав каждый символ "*" и повторив каждый символ, отличный символ "*" - C++
Здравствуйте,уважаемые форумчане!Помогите пожалуйста с написанием программ-а то завтра сдать уже надо... Препод ставит такие требования: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.04.2014, 02:21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru