Programación General > C/C++
Remover un caracter de una cadena cada vez que se repita el ciclo. Necesito idea
(1/1)
Angeljim105:
Estoy realizando un codigo donde: imprima una cadena de caracteres dentro de un ciclo:
por ejemplo la salida en pantalla debe imprimir:
//////////////////////////////////////
Nombre
ombre
mbre
bre
re
e
///////////////////////////////////////
Estoy haciendo un ciclo anidado for pero no logro eliminar el primer caracter y asi sucesivamente:
El codigo fuente que estoy usando es este: son varias salidas de pantalla pero es la de arriba donde tengo la duda:
// Jimenez Bustillos Angel // 01220194
// 20/04/17
// Laboratorio 11
// JBA_L11.C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void menu (void);
void programa1(void);
int main (void)
{
menu();
return 0;
}
void menu(void)
{
int op;
do{
system ("cls");
printf("\nMENU");
printf("\n1.- Ejemplo cadenas");
printf("\nESCOGE UNA OPCION.");
scanf ("%d",&op);
switch(op)
{
case 1: programa1(); break;
}
}while(op != 4);
}
void programa1(void)
{
int tam,i,j;
char NomAlum[30];
system ("cls");
printf("Dame tu nombre\n");
fflush(stdin);
gets(NomAlum);
printf("\n");
tam=strlen(NomAlum);
printf("%s Es tu nombre y tiene %d caracteres\n",NomAlum,tam);
printf("\n");
system("pause");
printf("\n");
for(i=0;i<tam;i++)
{
printf("%c\n",NomAlum);
}
printf("\n");
system("pause");
printf("\n");
for(i=0;i<tam;i++)
{
printf("%c\n",NomAlum[(tam-1)-i]);
}
printf("\n");
printf("\n");
system("pause");
for(i=0;i<tam;i++)
{
printf("\n");
for(j=0;j<tam;j++)
{
printf("%c",NomAlum[j]);
}
}
printf("\n");
system("pause");
printf("\n");
for(i=0;i<tam;i++)
{
printf("\n");
for(j=0;j<tam;j++)
{
printf("%c",NomAlum[(tam-1)-j]);
}
}
printf("\n");
system("pause");
printf("\n");
}
chenech:
Hola, te dejo un ejemplo de hacerlo de una forma y de otra, quitando al final el primer ejemplo y quitando al principio el otro, prueba a ver por que no he tenido tiempo de probarlo, si puedes usar String hay funciones como SubString que te facilitan la labor, con char me sale así mas o menos, un saludo.
--- Código: ---
// Ejemplo quitando al final
const char Nombre[30] = "Nombre";
char Salida[30];
for(int i=0;i<strlen(Nombre);i++)
{
for(int j=0;j<i+1;j++)
printf("%c", Nombre[j]);
printf("%c", '\n');
}
// Ejemplo quitando al principio
int k;
for(int i=0;i<strlen(Nombre);i++)
{
k=0;
for(int j=i;j<strlen(Nombre);j++)
Salida[k++] = Nombre[j];
Salida[k] = '\0';
printf("%s", Salida);
printf("%c", '\n');
}
--- Fin del código ---
Angeljim105:
Gracias me faltaba un poco de logica para resolver el problema lo estoy analizando, muchas gracias por tu tiempo y tu atencio amigo gracias.
Navegación
Ir a la versión completa