El post que buscas se encuentra eliminado, pero este también te puede interesar

Ejercicios Resueltos en C++

1- SUMA DE DOS MATRICES
#include<stdio.h>
#include<conio.h>
#include <windows.h>
#include <string.h>
HANDLE hConsoleOutput; /*Estas 2 líneas son para emular el gotoxy*/
COORD coord;

void carga(int matriz ,int filas,int columnas);
void suma(int matriz ,int matriz2 ,int filas,int columnas);
void transpuesta(int matriz ,int filas,int columnas);

main()
{
int matriz;
int matriz2;

int i, j, k;
int bienfila, biencolumna, filas, columnas;
bienfila=0;
biencolumna=0;

//Pedido de ingreso de filas y columnas
while (bienfila==0)
{
printf("Introduzca el numero de filas (debe ser menor que 10): ";
scanf("%d", &filas);
if (filas<=10) bienfila=1;
}
while (biencolumna==0)
{
printf("Introduzca el numero de columnas (debe ser menor que 10): ";
scanf("%d", &columnas);
if (columnas<=10) biencolumna=1;
}

hConsoleOutput = GetStdHandle (STD_OUTPUT_HANDLE); /*Estas 3 líneas son para indicar la posición*/
coord.X = 0; coord.Y = 4;
SetConsoleCursorPosition (hConsoleOutput, coord);

//Carga de la primer matriz
printf("Carga de elementos de la primer matriz de %d filas y %d columnasn", filas, columnas);
carga(matriz,filas,columnas);

//Carga de la segunda matriz
printf("Carga de elementos de la segunda matriz de %d filas y %d columnasn", filas, columnas);
carga(matriz2,filas,columnas);

//Suma las dos matrices
suma(matriz,matriz2,filas,columnas);

getch();
}

//Procedimientos
// Procedimiento utilizado para cargar las dos matrices
void carga(int matriz ,int filas,int columnas)
{
int i,j;
for (i = 0 ; i < filas ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < columnas ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
scanf("%d", &matriz[j]);
}
}
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
}

// Procedimiento utilizado para sumar las dos matrices
void suma(int matriz ,int matriz2 ,int filas,int columnas)
{
int i,j;
int resultado;
coord.X = 0; coord.Y = coord.Y+2;
SetConsoleCursorPosition (hConsoleOutput, coord);
printf("El resultado de la suma de las dos matrices de %d filas y %d columnasn", filas, columnas);
for (i = 0 ; i < filas ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < columnas ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
resultado[j]=matriz[j]+matriz2[j];
printf("%d n", resultado[j]);
}
}
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
// El procedimiento llama a otro procedimiento para obtener la transpuesta del resultado
transpuesta(resultado,filas,columnas);
}
//Procedimiento utilizado para obtener la matriz transpuesta
void transpuesta(int matriz ,int filas,int columnas)
{
int i,j;
int transpuesta ;

printf("La matriz transpuesta es: ";
for (i = 0 ; i < columnas ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < filas ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
transpuesta[j]=matriz[j];
printf("%d n", transpuesta[j]);
}
}
}

2- MULTIPLICACIÓN DE DOS MATRICES
#include<stdio.h>
#include<conio.h>
#include <windows.h>
#include <string.h>
HANDLE hConsoleOutput; /*Estas 2 líneas son para emular el gotoxy*/
COORD coord;

void carga(int matriz );
void producto(int matriz ,int matriz2 );


main()
{
int matriz;
int matriz2;


hConsoleOutput = GetStdHandle (STD_OUTPUT_HANDLE); /*Estas 3 líneas son para indicar la posición*/
coord.X = 0; coord.Y = 1;
SetConsoleCursorPosition (hConsoleOutput, coord);

//Carga de la primer matriz
printf("Carga de elementos de la primer matriz de 3 filas y 3 columnasn";
carga(matriz);

//Carga de la segunda matriz
printf("Carga de elementos de la segunda matriz de 3 filas y 3 columnasn";
carga(matriz2);

//Producto de las dos matrices
producto(matriz,matriz2);

getch();
}

//Procedimientos
// Procedimiento utilizado para cargar las dos matrices
void carga(int matriz )
{
int i,j;
for (i = 0 ; i < 3 ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < 3 ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
scanf("%d", &matriz[j]);
}
}
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
}

// Procedimiento utilizado para multiplicar las dos matrices
void producto(int matriz ,int matriz2 )
{
int i,j,k;
int resultado;
coord.X = 0; coord.Y = coord.Y+2;
SetConsoleCursorPosition (hConsoleOutput, coord);
printf("El resultado de la multiplicacion de las dos matrices de 3 filas y 3 columnas es n";
for (i = 0 ; i < 3 ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < 3 ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
k=0;
resultado[j]=0;
for (k=0 ; k<3 ; k++)// esto equivale a la sumatoria
{
resultado[j] = (resultado[j]) + (matriz[k]*matriz2[k][j]);// equivale a un acumulador, pero de la matriz
}
printf("%d n", resultado[j]);
}
}
}

3- ORDENAMIENTO MÉTODO DE LA BURBUJA

#include <iostream>
#include <conio.h>
#define TAM 10
using namespace std;
void Burbuja(int Vec[],int n);
main()
{
int i, cant, Vec[TAM];
i=0;
cout<<"Cuantos elementos va a ingresar? ";
cin>>cant;
while (i<cant)
{
cout<<"Ingrese el elemento No."<<i<<": ";
cin>> Vec;
i++;
}
Burbuja(Vec,cant);

cout<<"El vector ordenado es: "<<endl;
for(i=0;i<cant;i++)
{ cout<< Vec<<endl;
}
getch();
}
void Burbuja(int Vec1[],int X)
{ int i,j,Temp;
for (i=0;i<X-1;i++)
{
for (j=i+1;j<X;j++)
{
if (Vec1 > Vec1[j]) //intercambia
{
Temp = Vec1;
Vec1 = Vec1[j];
Vec1[j] = Temp;
}

//cout<< Vec1[j];
}
}
}

4- Realiza un programa que almacene en un vector de strings, de tamaño 10, los nombres y apellidos de 10 personas introducidas en minúsculas (y sin usar acentos), donde los nombres o apellidos compuestos se introducirán unidos, por ejemplo, "juan antonio del alamo lopez", se introducirá como "juan-antonio del-alamo lopez". El programa debe rectificar los datos de la siguiente forma:
deben aparecer primero los apellidos seguidos de coma y el nombre, además de poner en mayúscula la primera letra de cada nombre y apellido. Así, el dato anterior, debe modificarse para que aparezca "Del-Alamo Lopez, Juan-Antonio".
Finalmente, crea una función para que los ordene alfabéticamente y los imprima por pantalla.

#include <iostream>
#include <cstring>
#include <cctype>

using namespace std;
const int TAM=10;

void LeeDatos(string A[], int tam);//Introduce los datos en el vector
void PasaMayusculas(string A[], int tam);//Pasa a mayúsculas las primeras letras
void Cambio(string A[], int tam);//Coloca primero los apellidos, una coma y después el nombre
void Ordena(string A[], int tam);//Ordena por el método de la Burbuja
void Imprime(string A[], int tam);//Imprime un vector de string

int main(){ //Llamamos a cada uno de los procedimientos de forma lógica
string Vector[TAM];

LeeDatos(Vector,TAM);
PasaMayusculas(Vector,TAM);
Cambio(Vector,TAM);
Ordena(Vector,TAM);
Imprime(Vector,TAM);

system("PAUSE";
return 0;
}

void LeeDatos(string A[], int tam){
for (int i=0; i<tam; i++){
cout << "Dame dato: ";
getline(cin,A);}
}

void PasaMayusculas(string A[], int tam){
for (int i=0; i<tam; i++){//Procedemos con todos los elementos del vector
A[0]=toupper(A[0]);//El primer caracter del nombre se pasa a mayúsculas
for (int j=1; j<A.length(); j++){
if (A[j]=='-')
A[j+1]=toupper(A[j+1]);//Pasa a mayúsculas la primera letra
// del segundo término de un compuesto
if (isspace(A[j]))//Si es un espacio cambia el caracter siguiente a mayúsculas
A[j+1]=toupper(A[j+1]);// (pasa a mayúsculas la primera letra
} // de un apellido)
}
}
void Cambio(string A[], int tam){
int primerespacio; //Posición del primer espacio para cada string
string B[TAM]; //Vector auxiliar para hacer el cambio
for (int i=0; i<tam; i++){//Procedemos con todos los elementos del vector
primerespacio=0;
while (isspace(A[primerespacio])==false) primerespacio++;//Buscamos la
// posicion del primer espacio (donde empiezan los apellidos)
//Introducimos los apellidos en B;
B=A.substr(primerespacio+1,A.length()-1-primerespacio);
//Añadimos la coma, espacio y el nombre al final
B=B+", "+A.substr(0,primerespacio);
}
//Hacemos el cambio para A (B está como debería salir A)
for (int k=0; k<tam; k++) A[k]=B[k];
}
void Ordena(string A[], int tam){//Método de la Burbuja. Orden ascendente
string aux;
for (int i=0; i<tam-1; i++){
for (int j=0; j<tam-i-1 ; j++){
if (A[j] > A[j+1]){
aux = A[j];
A[j] = A[j+1];
A[j+1] = aux;
}
}
}
}
void Imprime(string A[], int tam){//Salida tipo lista
cout <<"nLISTA: n";
for (int i=0; i<tam; i++)
cout << A << endl;
cout << endl;
}

5- MENU ARRAY

#include<iostream>
using namespace std;
int main(){
int sel,i=0,men,may,n,m,temp;
int vector[20];
float prom=0,sum=0,cont=0;
do{
cout<<" ESCOJA UNA DE LAS SIGUIENTES OPCIONES: "<<endl;
cout<<" 1: INGRESAR UN NUMERO "<<endl;
cout<<" 2: IMPRIMIR EL VECTOR "<<endl;
cout<<" 3: BUSCAR UN DATO "<<endl;
cout<<" 4: SABER EL NUMERO MAYOR "<<endl;
cout<<" 5: SABER EL NUMERO MENOR "<<endl;
cout<<" 6: SABER EL NUMERO PROMEDIO "<<endl;
cout<<" 7: SALIR"<<endl;
cout<<endl;
cin>>sel;


switch(sel){
case 1: cout<<" INGRESE UN NUMERO"<<endl;
cin>>vector;
i++;
cont=cont+1;
cout<<endl;
break;

case 2: cout<<" IMPRIMIR EL VECTOR "<<endl;
for(i=0;i<cont;i++){
cout<<vector<<" ";
}
cout<<endl;
break;

case 3: cout<<" DIGITE EL NUMERO QUE QUIERE BUSCAR "<<endl;
cin>>n;
m=0;
for(i=0;i<cont;i++){
if(vector==n) {
m=i;

if(vector[m]==n){
cout<<" EL NUMERO ESTA EN LA POSICION "<<m<<endl;
}
}
}
if(vector[m]!=n){
cout<<" EL NUMERO NO ESTA "<<endl;
}
cout<<endl;
break;

case 4: cout<<"SABER EL NUMERO MAYOR "<<endl;
temp=vector[0];
for(i=0;i<cont;i++){
if (vector>temp){
temp=vector;
}
}
cout<<"EL NUMERO MAYOR ES: "<<temp<<endl;
cout<<endl;
break;

case 5: cout<<"SABER EL NUMERO MENOR "<<endl;
temp=vector[0];
for(i=0;i<cont;i++){
if (vector<temp){
temp=vector;
}
}
cout<<"EL NUMERO MENOR ES: "<<temp<<endl;
cout<<endl;
break;

case 6: cout<<"SABER EL PROMEDIO "<<endl;
sum=0;
for(i=0;i<cont;i++){
sum=sum+vector;
}
prom=sum/cont;
cout<<"EL PROMEDIO ES: "<<prom<<endl;
cout<<endl;
break;
default: cout<<" OPCION NO DISPONIBLE "<<endl;
}
}while (sel!=4);

system("pause";
}


Espero les sirva

Anuncios

6 comentarios - Ejercicios Resueltos en C++

@enigmaelectronica
Buen intento chico, pero la proxima vez postealo en comunidades y con mas detalle:

para que sirve, cual es el ejemplo de uso, como funciona y descripcion de las variables

Intenta mejorar! tu puedes
@Apropiado
Eso se guarda como.... (Extension?)