54. C++ || Arrays ejercicios
81. Hacer un programa en C++ que muestre en pantalla un tablero de ajedrez de la siguiente manera:
- Los peones con la letra P.
- Las torres con la letra T.
- Los caballos con la letra C.
- Los alfiles con la letra A.
- El rey con la letra M.
- La reina con letra M.
#include <iostream>
using namespace std;
void escribirRey(int,int);
void escribirReina(int,int);
void escribirAlfil(int,int);
void escribirCaballo(int,int);
void escribirTorre(int,int);
void escribirPeon(int,int);
int main(){
int x,y;
for (x=0;x<8;x++){
for (y=0;y<8;y++){
escribirRey(x,y);
escribirReina(x,y);
escribirAlfil(x,y);
escribirCaballo(x,y);
escribirTorre(x,y);
escribirPeon(x,y);
if(x != 0 && x != 1 && x != 6 && x != 7){
cout << " ";
}
}
cout << endl;
}
return 0;
}
void escribirRey(int x,int y){
if ((x==0 && y==3) || (x==7 && y==3)){
cout << "M";
}
}
void escribirReina(int x,int y){
if ((x==0 && y==4) ||(x==7 && y==4)){
cout << "R";
}
}
void escribirAlfil(int x,int y){
if ((x==0 && y==2) ||
(x==7 && y==2) ||
(x==0 && y==5) ||
(x==7 && y==5)){
cout << "A";
}
}
void escribirCaballo(int x,int y){
if ((x==0 && y==1) ||
(x==7 && y==1) ||
(x==0 && y==6) ||
(x==7 && y==6)){
cout << "C";
}
}
void escribirTorre(int x,int y){
if ((x==0 && y==0) ||
(x==7 && y==0) ||
(x==0 && y==7) ||
(x==7 && y==7)){
cout << "T";
}
}
void escribirPeon(int x,int y){
if (x==1 || x==6){ cout << "P"; }
}82. Hacer un array bidimensional que acepte nueve números, luego, pedir al usuario que ingrese las coordenadas (x,y) para mostrar el elemento.
#include <iostream>
using namespace std;
void obtenerDatos(int[3][3]);
void mostrarCoordenadas(int[3][3]);
int main(){
int numeros[3][3];
obtenerDatos(numeros);
mostrarCoordenadas(numeros);
return 0;
}
void obtenerDatos(int numeros[3][3]){
cout << "Ingresa 9 numeros" << endl;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cin >> numeros[i][j];
}
}
}
void mostrarCoordenadas(int numeros[3][3]){
int x,y;
cout << "Ingrese la coordenada x: "; cin >> x;
cout << "Ingrese la coordenada y: "; cin >> y;
cout << "El elemento en la coordenada (" << x << "," << y << ") es: ";
cout << numeros[x][y];
}83. Hacer un array bidimensional 3x3, ingresar datos en él, mostrarlo y luego mostrar la traspuesta. La traspuesta de una matriz se consigue intercambiando filas por columnas y vicersa.
#include <iostream>
using namespace std;
void obtenerDatos(int[3][3]);
void mostrarOriginal(int[3][3]);
void mostrarTraspuesta(int[3][3]);
int main(){
int numeros[3][3];
obtenerDatos(numeros);
mostrarOriginal(numeros);
mostrarTraspuesta(numeros);
return 0;
}
void obtenerDatos(int numeros[3][3]){
cout << "Ingresa 9 numeros" << endl;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cin >> numeros[i][j];
}
}
}
void mostrarOriginal(int numeros[3][3]){
cout << "Array original: " << endl;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cout << numeros[i][j];
}
cout << endl;
}
}
void mostrarTraspuesta(int numeros[3][3]){
cout << "Array traspuesto: " << endl;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cout << numeros[j][i];
}
cout << endl;
}
}84. Hacer un programa que lea un array de 10 caracteres y que luego los muestre al inverso.
#include <iostream>
#include <cstring>
using namespace std;
void obtenerDatos(char[10]);
void mostrarPalabraAlReves(char[10]);
int main(){
char palabra[10];
obtenerDatos(palabra);
mostrarPalabraAlReves(palabra);
return 0;
}
void obtenerDatos(char palabra[10]){
cout << "Ingresa una palabra con un maximo de 10 letras" << endl;
cin.getline(palabra,10,'\n');//Esta función se explicará en el tema de cadenas
}
void mostrarPalabraAlReves(char palabra[10]){
//La función strlen se explicará en el tema de cadenas
int indice = strlen(palabra);
for(int i = indice - 1; i >= 0; i--){
cout << palabra[i];
}
}85. Hacer un programa en C++ que lea una cadena, luego cuente la cantidad de vocales que tiene y las muestre por pantalla.
#include <iostream>
#include <cstring>
using namespace std;
void obtenerCadena(char[20]);
void mostrarVocales(char[20]);
int main(){
char palabra[20];
obtenerCadena(palabra);
mostrarVocales(palabra);
return 0;
}
void obtenerCadena(char palabra[20]){
cout << "Ingresa una frase con un maximo de 20 letras" << endl;
cin.getline(palabra,20,'\n');//Esta funcion se explicará en el tema de cadenas
}
void mostrarVocales(char palabra[20]){
//La funcion strlen se explicará en el tema de cadenas
int maximoLetras = strlen(palabra), sum = 0;
for(int i = 0; i < maximoLetras; i++){
switch (palabra[i]){
case 'a': sum++; break;
case 'e': sum++; break;
case 'i': sum++; break;
case 'o': sum++; break;
case 'u': sum++; break;
}
}
cout << "Hay " << sum << " vocales";
}

Publica un comentario