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