Está en la página 1de 6

Estructura de Datos y Algoritmos

Cadenas
Todos los profesores
2020

1 cadenas
1. Una función que permita contar todos los caracteres de una cadena hasta encontrar
encontrar un carácter dado
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;
void generarCadena(int n,char letras[100]) {
int cont1 = 0, cont2 = 0;
char x;

Random r;
cout << "Ingrese la cantidad de letras: "; cin >> n;
for (int i = 0; i < n; i++)
{
letras[i] = r.Next(65, 91);
cout << " [" << letras[i] << "] ";
}
cout << "Ingrese la letra que desea buscar: "; cin >> x;
for (int i = 0; i < n; i++)
{
while (letras[i] != '0') {
if (letras[i] == x)
{
cout << "El caracter " << x << " se encuentra en la
posicion" << i << endl;
cont2++;

}
++cont1;
}
}
}
int main() {
int n, cont1 = 0, cont2 = 0;
char x;
char letras[100];
generarCadena(n, letras);
getch();
return 0;
}
2. Una función que permita contar todas las palabras dentro de una cadena. Considere
que las palabras están separadas por un solo espacio en blanco
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;
int main() {
char a[100];
int z, espacios = 0, letras = 0;
cout << "Escriba una frase :"; scanf("%[^\n]", &a);
z = strlen(a);
for (int i = 0; i <= z; i++)
{
if (a[i] == ' ')
{
espacios++;
}
}
letras = z - espacios;
cout << "Hay " << espacios << " espacios en esta frase " << endl;
cout << "Hay " << letras << " letras en esta frase " << endl;
getch();
return 0;
}
3. Una función que permita invertir una cadena. Por ejemplo, dada la cadena”
Planeta”, debe producir” atenalP”.
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;
int main() {
char cadena[] = "Planeta";
strrev(cadena);
cout << cadena << endl;
getch();
return 0;
}
4. Una función que permita determinar si una cadena es palíndroma
#include <iostream>
#include <string>
#include<conio.h>
using namespace System;
using namespace std;
int main() {
string texto;
int aux = 0, igual = 0;

cout << "Ingrese la palabra a evaluar: ";


getline(cin >> ws, texto);

for (int ind = texto.length() - 1; ind >= 0; ind--) {


if (texto[ind] == texto[aux]) {
igual++;
}
aux++;
}

if (texto.length() == igual) {
cout << "La palabra ingresada es palindromo!! :D" << endl;
}
else {
cout << "La palabra ingresada no es palindromo!! :D" << endl;
}
getch();
return 0;
}
5. Una función que reciba un número y devuelva el equivalente en números romanos.
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;
int main() {
int num, unidades, centenas, decenas, millar;
cout << "Digite un numero: "; cin >> num;
unidades = num % 10; num /= 10;
decenas = num % 10; num /= 10;
centenas = num % 10; num /= 10;
millar = num % 10; num /= 10;

switch (millar)
{
case 1:cout << "M"; break;
case 2:cout << "MM"; break;
case 3:cout << "MMM"; break;
}
switch (centenas)
{
case 1:cout << "C"; break;
case 2:cout << "CC"; break;
case 3:cout << "CCC"; break;
case 4:cout << "CD"; break;
case 5:cout << "D"; break;
case 6:cout << "DC"; break;
case 7:cout << "DCC"; break;
case 8:cout << "DCCC"; break;
case 9:cout << "MC"; break;
}
switch (decenas)
{
case 1:cout << "X"; break;
case 2:cout << "XX"; break;
case 3:cout << "XXX"; break;
case 4:cout << "XL"; break;
case 5:cout << "L"; break;
case 6:cout << "LX"; break;
case 7:cout << "LXX"; break;
case 8:cout << "LXXX"; break;
case 9:cout << "XC"; break;
}
switch (unidades)
{
case 1:cout << "I"; break;
case 2:cout << "II"; break;
case 3:cout << "III"; break;
case 4:cout << "IV"; break;
case 5:cout << "V"; break;
case 6:cout << "VI"; break;
case 7:cout << "VII"; break;
case 8:cout << "VIII"; break;
case 9:cout << "IX"; break;
}
getch();
return 0;

}
6. Una función que dado el año mes y día, imprima dicha fecha en formato largo. Por
ejemplo: dados 2015, 03 y 23, muestre 03 de marzo del 2015.
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;
int main() {
int d, m, a;
char nombre;
do
{
cout << "Ingrese el dia:"; cin >> d;
} while (d<=1 && d>=31);
do
{
cout << "Ingrese el mes:"; cin >> m;
} while (m <= 1 && m >= 12);
do
{
cout << "Ingrese el annio:"; cin >> a;
} while (a<=1 && a>=2022);

switch (m==nombre)
{

case 1: cout << "Enero"; break;


case 2: cout << "Febrero"; break;
case 3: cout << "Marzo"; break;
case 4: cout << "Abril"; break;
case 5: cout << "Mayo"; break;
case 6: cout << "Junio"; break;
case 7: cout << "Julio"; break;
case 8: cout << "Agosto"; break;
case 9: cout << "Setiembre"; break;
case 10: cout << "Octurbre"; break;
case 11: cout << "Noviembre"; break;
case 12: cout << "Diciembre"; break;
}
cout << d << "/" << nombre << "/" << a;

getch();
return 0;
}
7. Una función que convierta una cadena a mayúsculas.
#include <stdio.h>
#include <ctype.h>
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;

int main(int argc, char const* argv[])


{
char cadena[] = "Hola mundo, esto va a ser convertido a mayuscula";
printf("Cadena original: %s\n", cadena);

// Convertir cada char a mayúscula


// usando toupper
for (int indice = 0; cadena[indice] != '\0'; ++indice) {
cadena[indice] = toupper(cadena[indice]);
}
printf("Cadena despues de ser convertida: %s\n", cadena);
getch();
return 0;
}
8. Una función que convierta una cadena a minúsculas.
#include <stdio.h>
#include <ctype.h>
#include<iostream>
#include<conio.h>
using namespace std;
using namespace System;
int main(int argc, char const* argv[])
{
char cadena[] = "Hola Mundo, esto va a ser convertido a MINUSCULA";
printf("Cadena original: %s\n", cadena);

// Convertir cada char a minúscula


// usando tolower
for (int indice = 0; cadena[indice] != '\0'; ++indice) {
cadena[indice] = tolower(cadena[indice]);
}
printf("Cadena despues de ser convertida: %s\n", cadena);
getch();
return 0;
}

También podría gustarte