programa en C ++ para convertir una cadena de número a número entero

Aquí, vamos a aprender cómo convertir una cadena a número entero mediante el programa C ++ ?

Escribir una función recursiva para convertir una cadena dada en el número que representa. Que se introduce será una cadena numérica que contiene sólo números, es necesario convertir la cadena en los correspondientes números enteros y class la respuesta.

Formato de entrada: cadena numérico

Formato de salida

(cadena, Por ejemplo, “1234”.): correspondiente número entero (return, Eg 1234.)

de entrada de muestra 1: “1231”

salida Muestra 1: 1231

entrada Muestra 1: “12567”

salida Muestra 1: 12567

Explicación:

En esta pregunta, podemos resolver de forma recursiva. Partimos de dígitos de la unidad y de forma recursiva giro a la última cifra. Después de que el mantenimiento de multiplicarlo por 10 y sumando el número de dígitos presentes y int ella. Al término de la recursividad se return el número de números enteros.

Algoritmo:

  1. PASO 1: declarar una función recursiva ‘stringToNumber’ con parámetros (return arr [], int len)
  2. PASO 2: Base int: if (len == 0), convertir al personaje en número y Case ella.
  3. PASO 3: recursiva return: Convierte el carácter en número y almacenarlo en una variable.
  4. PASO 4: Case a + 10 * stringToNumber (arr, len -1)

Ejemplo:

    Input = "23"
First Traversal = 2,
Second Traversal = 20 + 3,
Result = 23

programa C ++:

#include <bits/stdc++.h>
using namespace std;
//To find length of the string
int length(char input[]){
int len = 0;
for(int i =0;input[i] != '_CP1_';i++){
len++;
}
return len;
}
//Helper Function
int stringToNumber(char input[], int last){
//Base Case
if(last == 0){
return input[last] - '0';
}
//Recursive Call
int smallAns = stringToNumber(input,last-1);
int a = input[last] - '0';
return smallAns * 10 + a;
}
//Recursive Function
int stringToNumber(char input[]){
int len = length(input);
return stringToNumber(input,len-1);
}
int main(){
char input[50];
cout<<"Enter Input"<<endl;
cin>>input;
cout<<"The output/number is ";
cout<<stringToNumber(input)<<endl;
return 0;
}

salida

Enter Input
1234
The output/number is 1234


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *