-¿Te unes?- ㊜Suscribete!!!

Problemas Resuelto Recursividad Programación II - Capitulo 1

Hola ,queridos lectores y programadores he creado esta sección de problemas resueltos para compartir algunos ejercicios, para ello usaremos el lenguaje c++ con IDE C++Builder
Problemas resuelto de la materia programación II

Problema 1:
Escribir una función que devuelva true si un vector contiene únicamente cadenas palíndromas. Una cadena es palíndroma si se leen igual de izquierda a derecha como de derecha a izquierda .(20 Ptos)
Ej.1 v["oso", "oruro", "reconocer", "arenera"] ==>  true
Ej2. v["rotor", "aibofobia","sala", "ala"] ==>false

La respuesta debe estar máximo en dos funciones 
void InvertirCad(String &Cad){ byte L=Cad.Length(); if ((L<=1)||(Cad=="")){ Cad=Cad; }else { String c=Cad.SubString(1,2); Cad.Delete(1,2); InvertirCad(Cad); Cad=Cad+c[2]+c[1]; } } bool Palíndromas(TStringGrid *Vec,byte Dim){ Boolean B=true; if (Dim>=1) { B=Palíndromas(Vec,Dim-1); String C1=Vec->Cells[Dim-1][0]; String C2=Vec->Cells[Dim-1][0]; InvertirCad(C2); if (C1!=C2){ B=false; } } return B; } void __fastcall TForm1::Palabraspalndromas1Click(TObject *Sender) { Boolean B=Palíndromas(SGVector,SGVector->ColCount); if (B==true){ TSalida->Text="true"; }else TSalida->Text="false"; }























 ⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫
Problema 2:
Escribir una función que devuelva una cadena formada por los dígitos de un número repetidos la cantidad de veces que el dígito representa. Máximo 2 funciones.

Ej. CadDeDigitos(5021)=>"55555221"


String repetido(Cardinal n, Cardinal v) { String cad; if (n == 0) cad = ""; else cad = repetido(n - 1, v) + String(v); return cad; } String CadDeDigitos(Cardinal n) { String cad; if (n < 10) cad = repetido(n, n); else { Byte dig = n % 10; n = n / 10; cad = CadDeDigitos(n) + repetido(dig, dig); } return cad; }

 













 
String digitos(byte d,byte d2){ String s; if (d==0) { s=""; }else{ s=digitos(d-1,d2); s=s+d2; } return s; } String examen112(int n){ String s; if (n>0) { byte d=n%10; s=examen112(n/10); s=s+digitos(d,d); }else{ s=""; } return s; } void __fastcall TForm1::ndigacadena1Click(TObject *Sender) { Edit3->Text =examen112(StrToInt(Edit2->Text)); }




















⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫
Problema 3:
Escribir procesos (pueden escribir hasta 2 procesos) para cargar una matriz cuadrada de la siguiente forma:
Amxm
5
6
7
8
9


void aux_diag(TStringGrid * m, Cardinal f, Cardinal c, Cardinal v) { if (f > 0 && c <= m->ColCount) { m->Cells[c - 1][f - 1] = v; aux_diag(m, f - 1, c + 1, v); } } //Aqui entra el valor de v, v = 9 void diagonales(TStringGrid* m, Cardinal f, Cardinal c, Cardinal v) { if (c > 0 && f > 0) { aux_diag(m, f, c, v); if (c == 1) diagonales(m, f - 1, c, v - 1); else diagonales(m, f, c - 1, v - 1); } }














 

void matrizcol(TStringGrid* m,byte fa,byte fb,byte ca,byte cb,byte k){ byte n=cb-ca+1; if (n>0) { m->Cells [ca][fa]=k; matrizcol(m,fa,fb,ca+1,cb,k+1); } } void matrizcol2(TStringGrid* m,byte fa,byte fb,byte ca,byte cb,byte &k){ byte n=fb-fa+1; if (n>0) { matrizcol(m,fa,fb,ca,cb,k); k++; matrizcol2(m,fa+1,fb,ca,cb,k); } } void __fastcall TForm1::matrizcortes1Click(TObject *Sender) { byte m=StrToInt(InputBox("","dimencion","")); StringGrid1->ColCount = m; StringGrid1->RowCount =m; byte k=1; matrizcol2(StringGrid1,0,m-1,0,m-1,k); }


















⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫

Problema 4:
Escribir una función que devuelva una cadena formada por los dígitos de un número repetidos la cantidad de veces que el dígito representa. Máximo 2 funciones.

Ej. CadDeDigitos(5021)=>"55555221"
String digitos(byte d,byte d2){ String s; if (d==0) { s=""; }else{ s=digitos(d-1,d2); s=s+d2; } return s; } String cantidadveces (int n){ String s; if (n>0) { byte d=n%10; s=cantidadveces (n/10); s=s+digitos(d,d); }else{ s=""; } return s; } void __fastcall TForm1::ndigacadena1Click(TObject *Sender) { Edit3->Text =cantidadveces (StrToInt(Edit2->Text)); }
















 



⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫⇜✫⇝✫
Problema 5:

Escriba una función recursiva para generar la siguiente serie N elementos:
2,5,10,17,26

void GenerarSerie(TStringGrid *grid, unsigned int pos, unsigned int a,unsigned int b){ if (pos==grid->ColCount) { return; } else { grid->Cells[pos][0]=b; b=b+a; a=a+2; GenerarSerie(grid,pos+1,a,b); } } void __fastcall TForm1::Button1Click(TObject *Sender) { byte n; n=Edit1->Text.ToInt(); Grid1->RowCount=1; Grid1->ColCount=n; Grid1->FixedCols=0; Grid1->FixedRows=0; GenerarSerie(Grid1,0,3,2); }


















☆・。。・゜゜・。。・゜★ 
 Como estudiante autónomo que todavía está aprendiendo c++. 
 Organizo mi comprensión del conocimiento en la forma de aprender y compartir, y también espero poder darles una referencia. Como progresar con todos, si hay algún error, espero que todos puedan corregirme. 
¡Muchas gracias!  Si te gusta, ¡síguelo! O (∩_∩) O 
Gracias por su apoyo ❗️

Comentarios

¿Hay algo que quieras buscar?

㊜Luishiño

★ ★ ★ ★ ★

>_

Hola soy ぎLuishiño y este es mi Blog personal..... 

Soy un joven emprendedor, curioso, creativo y confiable, interesado en mejorar profesionalmente. Estudio Ingeniería de Sistemas y me encanta escribir sobre temas que me apasionan, como programación, desarrollo web, aplicaciones y software. A través de mi blog, comparto conocimientos, experiencias y proyectos propios. ¡Únete a mi viaje hacia el conocimiento y el crecimiento tecnológico!
⚠ Nadie es como tú y ese es tú súper poder
୧⍢⃝୨ Sigue mi blog :3
TᕼE ᔕEᐯEᑎ ᑕOᗪEᔕ

↪Mis redes sociales↩

Entradas populares de este blog

Sockberus Autentificación de proxys

CiclopeClic: Generador de Enlaces con IA para Campañas Phishing

Ofertas y Descuentos

Libros

Curso Exploit: Esteganografía y Encriptación

Domina las técnicas de ocultación y cifrado utilizadas en el hacking avanzado. Aprende a esconder información en archivos, imágenes y más, utilizando esteganografía, y protege datos con métodos de encriptación imposibles de romper. Este curso te llevará desde lo básico hasta la aplicación de herramientas y exploits reales.

Instructor: pericena
Duración: 2 horas por sesión
Modalidad: Online

$50 USD $40 USD

Libros

Curso OSINT: Inteligencia de Datos Públicos y Hacking

El OSINT (Open Source Intelligence) es una de las herramientas más poderosas en el hacking y la ciberseguridad. En este curso aprenderás a recolectar, analizar y explotar información pública disponible en internet. Descubre cómo los hackers encuentran datos sensibles, rastrean personas y empresas, y cómo puedes protegerte de estas técnicas.

Instructor: pericena
Duración: 2 horas por sesión
Modalidad: Online

$50 USD $40 USD

El arte de la guerra nos enseña a no confiar en la posibilidad de que el enemigo no venga, sino en nuestra propia preparación para recibirlo; no confiar en el azar de que no ataque, sino mejor en que hemos hecho inaccesible nuestra posición. — El arte de la guerra, Sun Tzu

¡Gran Estreno!

Nuevo video disponible. ¡No te lo pierdas!

Mira este video y descubre la verdad

📌 Tú y las redes sociales

💡 ¿Realmente eres libre en el mundo digital?

Publicada por 🚀 Servicio Técnico "The Seven Codes" en Martes, 5 de diciembre de 2019

Es momento de cuestionarlo todo… ¿Eres realmente libre o solo sigues el juego de las redes sociales?

Banner

¡Conéctate con la comunidad!

Únete a nuestro chat en vivo para compartir ideas, hacer preguntas y conocer a otros apasionados como tú. 🚀

Comentarios

Blog Populares

Instalar DoxWeb con Termux

Instalar Metasploit-Framework En Android Con Termux

Termux Instalar Ngrok

Hackear contraseñas WiFi con Python fácilmente con este sencillo script

WhatScriptApp: Automatización de Mensajería y Su Impacto

By Blog

By Luishiño

¡Bienvenido a nuestra sección de Seguridad!

Comparte el enlace con tus amigos

¡Copiar Enlace!