Red de conocimiento informático - Computadora portátil - Ingrese una cadena y copie todos los caracteres que comiencen con el carácter m-ésimo a otra cadena.

Ingrese una cadena y copie todos los caracteres que comiencen con el carácter m-ésimo a otra cadena.

El procedimiento correcto es el siguiente:

#define N 20//Definición de macro: define la longitud del array

#include

Utilice el espacio de nombres std;

int main()

{int m, i;//Defina las coordenadas iniciales y especifique la variable de bucle char a[N], b[ para copiar elementos N];//Defina dos matrices de la misma longitud cout << "Por favor ingrese cadena:"; gets_s(a);//siga la sugerencia: utilice la función de entrada de caracteres para realizar la entrada de cadenas y guardar en una matriz cout << "Por favor ingrese m:"; cin >> m;//Siga la sugerencia: ingrese las coordenadas del inicio del elemento de copia especificado para (i = 0; b[i - 1] != '\0' ; i++) //El recorrido comienza desde el elemento especificado y se detiene al final de la cadena { b[i] = a[i + m -1 ] //Copiar secuencialmente a la matriz b comenzando desde el elemento m de a; array } cout << "La cadena después del mes es:" << b << endl // Muestra el contenido de la matriz b (es decir, el resultado) devuelve 0, resultado) devuelve 0;

}

El resultado es el siguiente:

Información ampliada:

//El método de puntero completa la copia de la cadena

#include

void copy_string(char *from,char *to);?//declaración de función

void main()

{ ?

char *fro,*t; //Definir dos variables de puntero

char a[]="Soy profesor.";//Definir dos matrices de cadenas

char b[]="Eres un estudiante.

";

printf("a=%s\nb=%s\n",a,b);//Muestra el contenido de dos matrices a, b

fro= a;t=b;//Asigne la dirección inicial de la matriz a y asigne la dirección inicial de la matriz b a t

printf("\ncopiar la cadena a a la cadena b:\n ");

copy_string(fro,t);//Función utilizada para COPIAR (aquí no se requiere el símbolo de puntero *, la dirección se transfiere directamente)

printf("string a =%s\ nstring b=%s\n",a,b);

}

void copy_string(char* de,char* a)

{ ?

while(*from!='\0')//continuar si la matriz no está terminada

{

*to=*from; //copia del elemento de matriz

from++;to++;//apunta a la dirección del siguiente elemento de matriz

}

*to='\0'; //el último carácter de la cadena es \0

}