Vous êtes sur la page 1sur 5

\\Observacion: Uso de parametros por referencia

#include <iostream>
#include <conio.h>
using namespace std;
void limpiarPantalla();
char filtroChar();
int filtroEntero();
char menu();
void leerDatos(int &primero, int &segundo);
void salidaPantalla(double final);
double computo(char tecla, int primero, int segundo);
int main(){
int dato1, int dato2;
double final;
char opcion;
leerDatos(dato1, dato2);
opcion = menu();
final = computo(opcion, dato1, dato2);
salidaPantalla(final);
getch();
}
void leerDatos(int &primero, int &segundo){
limpiarPantalla();
primero = filtroEntero();
segundo = filtroEntero();
}
void limpiarPantalla(){
cout<<"\n"<<"\n";
}
int filtroEntero(){
int aux;
cout<<"Introduzca un numero entero";
cin>>aux;
return aux;}
char menu(){
char tecla;
cout<<"\nElija una opcion";
cout<<"\n S. Sumar";
cout<<"\n R. Restar";
cout<<"\n M. Media Aritmetica";
tecla = filtroChar();
return tecla;}
char filtroChar(){
char caracter;
cout<<"Introduzca un caracter";
cin>>caracter;
return caracter;}
double computo(char tecla, int primero, int segundo){
double resultado;
switch(tecla){
case 'S': resultado = primero + segundo;
break;
case 'R': resultado = primero-segundo;
break;
case 'M': resultado =(primero + segundo)/2.0;
break;}
return resultado;
}
void salidaPantalla(double final){
limpiaPantalla();
cout<<"\n\nResultado = "<<final;}

//Manejo de matrices
//Autor:SB
//Referencia: Guia practica
//Ejemplo 01
//Observacin: Manejo de matrices
#include <iostream>
using namespace std;
int main(){
const int DIM_FIL = 5;
const int DIM_COL = 5;
int duf;
//Dimensin util filas
int duc;
//Dimensin util columnas
int matA[DIM_FIL][DIM_COL];
int matB[3][2];
do{
cout<<"Ingrese la cantidad de filas a procesar";
cin>>duf;
}while(duf>DIM_FIL);
do{
cout<<"Ingrese la cantidad de columnas a procesar";
cin>>duc;
}while(duc>DIM_COL);
//Se asume que duf es igual a duc
for(int i = 0;i<duf;i++){
for(int j=0;j<duc;j++){
cout<<"Ingrese un dato en la fila "<<i+1<<"
Columna "<<j+1;
cin>>matA[i][j];
}
}
//Procesando la matriz segn el caso
for(int i = 0;i<duf;i++){
for(int j=0;j<duc;j++){
if(i == j){
matB[i][0]= matA[i][j];
}
if((i+j)==3){
matB[i][1]=matA[i][j];
}
}
}
system("cls");
cout<<"\nImprimiendo los resultados: ";
cout<<"\n============================="<<endl;
for(int i = 0;i<4;i++){
for(int j=0;j<2;j++){
cout<<matB[i][j]<<" ";
}
cout<<endl;
}
system("pause");
}

//Manejo de matrices
//Autor:SB
//Referencia: Guia practica

//Ejemplo 03
//Observacin: Manejo de matrices
#include <iostream>
#include <conio.h>
using namespace std;
const int DIM_FIL=4, DIM_COL=4;
void Intercambio(int m[][DIM_COL] , int utilFil, int utilCol){
int aux;
int rx = (utilFil/2)-1;
int x = 0;
int ry = utilFil -1;
while(x<=rx){
for(int i = 0; i<utilFil;i++)
for (int j=0; j<utilCol;j++){
if((i > x)&&(j==x)){
aux = m[i][j];
m[i][j] = m[j][i];
m[j][i] = aux;
}
//cout<<"ry = "<<ry<<"\n";
if(ry>rx){
if((i==ry)&&(j==ry)){
aux = m[ry][ry];
m[ry][ry] = m[x][x];
m[x][x] = aux;
}
}
}
ry--;
x++;
};
cout<<"Imprimedo matriz intercambiada"<<endl;
for (int i=0; i<utilFil ; i++){
for (int j=0 ; j<utilCol; j++){
cout<<m[i][j]<<"\t";
}
cout<<endl;
}
}
int main(){
int matriz[DIM_FIL][DIM_COL]={{3,6,22,18},{76,9,32,21},
{1,21,7,2},{45,87,11,23}};
int Fil_Util=4, Col_Util=4;
cout<<"matriz original\n";
for(int i = 0;i<4;i++){
for(int j = 0;j<4;j++){
cout<<matriz[i][j]<<"\t";
}
cout<<"\n";
}
Intercambio(matriz, Fil_Util, Col_Util);
getch();
}

//Manejo de matrices
//Referencia: Guia practica
//Ejemplo 04

//Observacin: Manejo de matrices


#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
const int NUM_FIL = 4;
const int NUM_COL = 4;
void reorder(int datos[][NUM_COL], int numCol, string ord);
void reorder(int datos[][NUM_COL], int numCol, string ord){
int aux,x;
x = numCol-1;
for(int i= 0;i<NUM_FIL;i++){
for(int j = i+1; j<NUM_FIL;j++){
if(ord == "D"){
if(datos[j][x]>datos[i][x]){
aux = datos[i][x];
datos[i][x] = datos[j][x];
datos[j][x] = aux;
}
}else{
if(datos[j][x]<datos[i][x]){
aux = datos[i][x];
datos[i][x] = datos[j][x];
datos[j][x] = aux;
}
}
}
}
cout<<"Reportando resultado de ordenacion\n";
cout<<"==================================\n\n";
for(int i= 0;i<NUM_FIL;i++){
for(int j = 0; j<NUM_COL;j++){
cout<<datos[i][j]<<"\t";
}
cout<<"\n";
}
}
int main(){
int nc;
string o;
int dat[NUM_FIL][NUM_COL] = {{12,15,17,19},{18,11,9,5},
{9,21,7,32},{19,51,2,93}};
cout<<"DATOS ORIGINALES\n";
cout<<"================\n";
for(int i= 0;i<NUM_FIL;i++){
for(int j = 0; j<NUM_COL;j++){
cout<<dat[i][j]<<"\t";
}
cout<<"\n";
}
cout<<"\n\nIngrese la columna que desea ordenar\n";
cin>>nc;
cout<<"Tipo de Orden digite A para ascendente y D para
descendente\n";
cin>>o;
reorder(dat, nc, o);
getch();
}
//Manejo de matrices
//Autor:SB
//Referencia: Guia practica

//Ejemplo 06.
// Algoritmo de ordenacin en un vector lineal
//Observacin: Manejo de matrices
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
const int num_Elem = 5;
int main(){
int aux;
int datos[num_Elem] = {12, 15, 17, 9, 16};
cout<<"Datos de entada\n";
for(int i = 0; i<num_Elem; i++){
cout<<datos[i]<<"\n";
}
cout<<"Reemplazando\n";
for(int i= 0;i<num_Elem;i++){
for(int j = i+1; j<num_Elem;j++){
if(datos[j]>datos[i]){
aux = datos[i];
datos[i] = datos[j];
datos[j] = aux;
}
}
}
cout<<"Reporte de datos actualizado\n";
cout<<"============================\n";
for(int i = 0; i <num_Elem; i++){
cout<<datos[i]<<"\n";
}
}

getch();

Vous aimerez peut-être aussi