Sunteți pe pagina 1din 32

UNIVERSIDAD NACIONAL DE INGNENIERIA

Facultad de Ingeniería Industrial y de Sistemas

Cadenas

MSc. Cordova Neri, T 1


MSc. Cordova Neri, T 2
MSc. Cordova Neri, T 3
Como guardar una cadena de caracteres en una variable.
char nomb[20];
1.- cin>>
cin>>nombre : no guarda de manera correcta solo
imprime hasta que encuentra un espacio en blanco

MSc. Cordova Neri, T 4


2.- gets
char nomb[10];
gets(nombre ): no guarda de manera correcta la cantidad de
caracteres definidos

MSc. Cordova Neri, T 5


3.- cin.getline

cin.getline(nombre,20,’\n’) : solo acepta una cantidad de caracteres


definida en char
cin.getline(nomb,5,'\n') ;

MSc. Cordova Neri, T 6


MSc. Cordova Neri, T 7
Observación:

MSc. Cordova Neri, T 8


MSc. Cordova Neri, T 9
https://www.youtube.com/watch?v=D7hbaJhgzBs
Programa par leer una cadena y luego contar
dígitos

MSc. Cordova Neri, T 10


Diseñar un programa que permita leer una cadena de
longitud n caracteres , luego mostrarlo en forma invertida.

MSc. Cordova Neri, T 11


#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#define
linea"==============================================================
====="
#include <stdio.h>
void main()
{ char cad1[30],inv[130];
int i,lon;
system(" color 6E");
gotoxy(10,2);cout<<"INVERTIR CADENA ";
gotoxy(5,3);cout<<"______________________________";
gotoxy(4,5);cout<<"Ingrese Cadena : ";gets(cad1);
lon=strlen(cad1);

for(i=0;i<lon;i++)
{inv[lon-i-1]=cad1[i];
inv[lon]='\0'; //para fin de cadena
}
gotoxy(10,8);cout<<"Cadena invertida = "<<inv; getche();
}

MSc. Cordova Neri, T 12


Problema.- Diseñar un programa que permita leer una cadena
de longitud 30 caracteres (puede incluir espacio en blanco) y
luego generar un reporte que a partir del tercer carácter sean
todos expresados en mayúsculas.
Solución.-
Void main() ´{
char cad1[30]
cout<<"\nIngrese un una cadena:"; gets(cad1);

for(i=2;i<=sizeof(cad1);i++)
{ cad1[i]=toupper(cad1[i]);
cout<<“ Reporte = :"<<cad1;
}
Ejemplo:
Ingrese una cadena:
Lenguaje de programación
Salida:mayúsculas y minúsculas:
leNGUAJE DE PROGRAMACION MSc. Cordova Neri, T 13
MSc. Cordova Neri, T 14
El char es solo el espacio en memoria para un
caracter, (numero, símbolo, espacio o letra), y el
String es un conjunto de caracteres, o un arreglo de
char

MSc. Cordova Neri, T 15


Contar Palabras

MSc. Cordova Neri, T 16


#include<iostream.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include <stdio.h>
void main()
{char cad[30];
int i, p=0 ;
system("color 1b");
gotoxy(10,2);cout<<"Contar palabras ";
gotoxy(5,3);cout<<"_____________________________";
gotoxy(10,5);cout<<"Ingrese cadena : ";//cin.getline(cad,200);
cin.getline(cad,200);

/* for(i=1;cad[i]!='\0'; i++)
{
if(cad[i-1]==' ' && isalpha(cad[i]))
p++;
}
if (isalpha(cad[0]))
p++;
gotoxy(10,8);cout<<"total palabras = "<<p;
getche(); MSc. Cordova Neri, T 17
}
MSc. Cordova Neri, T 18
Corrector de Texto

MSc. Cordova Neri, T 19


#include <iostream>
void main()
{ char cad[100]; char letra[1],resp; int i,j; int np=0;
clrscr(); system("color 1b");
system("title Por: Cordova Neri T. Cad_Borrar_set1.cpp");
gotoxy(17,2); cout<<" CORRECTOR DE TEXTO ";
gotoxy(13,3); cout<<" ___________________________________";
gotoxy(7,5); cout<<"Ingrese Texto Letra a borrar : ";
gotoxy(15,7);gets(cad);

system("color 1B");
gotoxy(50,7);clreol();system("color 1B");cout<<"Letra: ";gets(letra);
i=0;
while(cad[i]!='\0')
{ if(letra[0]==cad[i])
{j=i;
while(cad[j]!='\0')
{cad[j]=cad[j+1];
j ++;
}
}
i++;
}
gotoxy(7,12); cout<<"texto sin error = "<<cad;
MSc. Cordova Neri, T 20
getche();}
Comparar Cadenas

1.- Función strcmp()


2.- Función strncmp
MSc. Cordova Neri, T 21
La función strcmp():
Sirve para comparar la cadena cadena1 con la cadena2.
1..- Devuelve el valor devuelve 0 si son iguales.
2..- Devuelve menor que cero si cadena1 es menor que cadena2.
3..- Devuelve mayor que cero si cadena1 es mayor que cadena2.

La función strncmp():
Sirve para comparar n caracteres entre cadena2 y cadena1
1.-Devuelve el valor devuelve 0 si son iguales.
2..- Devuelve menor que cero si cadena1 es menor que cadena2.
3..- Devuelve mayor que cero si cadena1 es mayor que cadena2.

MSc. Cordova Neri, T 22


MSc. Cordova Neri, T 23
#include <iostream>
#include <String>
#include <stdio>
#include <stdlib.h>
#include <conio.h>
void main ()
{ char cad1[20] = "conferencia";
char cad2[25] = "congreso";
int i,le;

system("color 1B");
gotoxy(10,3);cout<<" MODULO: COMPARAR CADENAS";
gotoxy(5,4);cout<<" ---------------------------";
gotoxy(10,6);cout << " Cadena 1 = "<<cad1;
gotoxy(10,7);cout << " Cadena 2 = "<<cad2;
gotoxy(10,9);cout << " Hasta donde desea comparar..? = ", cin>>le;
i=strncmp( cad1, cad2,le);
gotoxy(50,10);cout << " Respuesta = "<<i;
gotoxy(10,11);cout<<" Las "<<le<<" primeras letras de "<<cad1<<"son : ";
if(i<0 )
{ gotoxy(10,12); cout<< " Menores que " ;
}
else
{ MSc. Cordova Neri, T 24
if( i > 0 )
Correcto de texto

MSc. Cordova Neri, T 25


#include<iostream>
#include<conio>
#include<stdlib>
#include<stdio>
#include<string>
void main()
{ string cad; system("color 1B"); char vl[20];
gotoxy(10,3);cout<<" MODULO :CORRECTOR DE TEXTO ";
gotoxy(5,4);cout<<" ----------------------------";
gotoxy(10,5); cout<<" Ingrese texto =", cin>>cad ;
int nl=0;
for (int i=0;i<cad.length();i++)
{
if(! isdigit(cad[i]))
{vl[nl]=cad[i];
nl++;
}
}
gotoxy(10,7);cout<<"total de letras "<<nl;
gotoxy(2,14); cout<<"Cadena corregida: ";
for (int i=0;i<nl;i++)
{gotoxy(30+3*i,10);cout<< vl[i];
} MSc. Cordova Neri, T 26
Eliminar Espacios

MSc. Cordova Neri, T 27


#include<stdio>
#include<string>
#include<conio>
#include<string>

void main()
{ char cadena[256];
system("color 1B");
int j;
gotoxy(10,3);cout<<" MODULO :PALINDROMO ";
gotoxy(5,4);cout<<" ----------------------------";
cin.ignore(256,'\n');
gotoxy(10,6);
cout<<" Ingrese texto =", cin.getline(cadena,250);
for (int i=0;i<strlen(cadena);i++)
{ if(cadena[i]==' ')
{ for (int j=i+1;j<=strlen(cadena);j++)
{cadena[j-1]=cadena[j];// for hago recorrer hasta final
}
i--;
}
}

gotoxy(2,10); cout<<"Cadena = "<<cadena;


MSc. Cordova Neri, T 28
getche();
MSc. Cordova Neri, T 29
Palindromo

MSc. Cordova Neri, T 30


#include <stdio>
#include <stdlib.h>
#include <conio.h>
void main ()
{
char palabra[256];
system("color 1B");
gotoxy(10,3);cout<<" MODULO: PALINDROMO ";
gotoxy(5,4);cout<<" ----------------------";
gotoxy(10,6);cout << " Ingrese palabra = ";
cin.getline(palabra,250);
string reves;
int longi=strlen(palabra);
for(int i=longi-1;i>=0;i--)
{reves=reves+palabra[i];
}
gotoxy(10,10); cout<<" reves ="<<reves;
if(palabra==reves)
{ gotoxy(10,12);cout<<" Es Palindromo";
}
else
{gotoxy(10,12);cout<<" NO Es Palindromo";
}

getche(); MSc. Cordova Neri, T 31


MSc. Cordova Neri, T 32

S-ar putea să vă placă și