Agregar a favoritos      Ayuda      Português      Ingles     
 Página anterior Volver al principio del trabajoPágina siguiente 

Programas aritméticos, de aleatoriedad y de arreglos desarrollados en Microsoft Visual C++ (página 3)

Enviado por jaimemontoya



Partes: 1, 2, 3


Partes: 1, , 3

 

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 4 (GUIA 2)\n");

printf("\t\t\t ====================\n");

int arreglo[15],ciclo1,pasadas,i,almacena;

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE PERMITA ENCONTRAR EL PRIMER Y SEGUNDO MAYOR DEUN ARREGLO DE 15 ELEMENTOS.\n\n");

printf("SOLUCION:\n\n");

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<15;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGLO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<15;i++){

printf("[%d] ",arreglo[i]);

}

printf("\n\n");

//Ciclo para controlar el número de pasos.

for(pasadas=1;pasadas<15;pasadas++){

//Ciclo para controlar el número de comparaciones por pasada.

for(i=0;i<14;i++){

//Compara los elementos adyacentes y los intercambia si el primer elemento es mayor que el segundo.

if(arreglo[i]>arreglo[i+1]){

almacena=arreglo[i];

arreglo[i]=arreglo[i+1];

arreglo[i+1]=almacena;

}//Fin del if.

}//Fin del for interno.

}//Fin del for externo.

printf("LOS PRIMEROS DOS MAYORES DEL ARREGLO DE 15 ELEMENTOS SON: \n\n");

printf("PRIMER MAYOR: %d\n",arreglo[14]);

printf("SEGUNDO MAYOR: %d\n\n",arreglo[13]);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 5 (GUÍA 2)

MODIFICANDO EL EJERCICIO 4, IMPRIMA EN QUE POSICIONES SE ENCUENTRAN ESOS NUMEROS

Breve descripción del programa: Este programa encuentra encuentra los dos números mayores de un arreglo y luego dice también en qué posición se encontraban estos números originalmente. Para esto se crea otro arreglo del orden de los elementos aparte del arreglo introducido por el usuario. Luego se utiliza el método de la burbuja y no solamente se aplica al arreglo introducido por el usuario sino también al arreglo del orden de los elementos, de modo que al final se pueda determinar las posiciones originales que los dos elementos mayores del arreglo original tenían al principio.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 5 (GUIA 2)\n");

printf("\t\t\t ====================\n");

int arreglo[15],ciclo1,pasadas,i,almacena,orden[15],almacenaorden;

printf("\nPROBLEMA: MODIFICANDO EL EJERCICIO 4, IMPRIMA EN QUE POSICIONES SE ENCUENTRAN\nESOS NUMEROS.\n\n");

printf("SOLUCION:\n\n");

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<15;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGLO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Crear arreglo de orden.

for(ciclo1=0;ciclo1<15;ciclo1++){

orden[ciclo1]=ciclo1;

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<15;i++){

printf("[%d] ",arreglo[i]);

}

printf("\n\n");

//Mostrar posiciones originales.

printf("POSICIONES ORIGINALES: \n\n");

for(i=0;i<15;i++){

printf("[%d] ",orden[i]);

}

//Ciclo para controlar el número de pasos.

for(pasadas=1;pasadas<15;pasadas++){

//Ciclo para controlar el número de comparaciones por pasada.

for(i=0;i<14;i++){

//Compara los elementos adyacentes y los intercambia si el primer elemento es mayor que el segundo.

if(arreglo[i]>arreglo[i+1]){

almacena=arreglo[i];

arreglo[i]=arreglo[i+1];

arreglo[i+1]=almacena;

almacenaorden=orden[i];//Método de la burbuja aplicado al arreglo de las posiciones originales.

orden[i]=orden[i+1];

orden[i+1]=almacenaorden;

}//Fin del if.

}//Fin del for interno.

}//Fin del for externo.

printf("\n\nLOS PRIMEROS DOS MAYORES DEL ARREGLO DE 15 ELEMENTOS SON: \n\n");

printf("PRIMER MAYOR: %d\n",arreglo[14]);

printf("SEGUNDO MAYOR: %d\n\n",arreglo[13]);

printf("POSICION ORIGINAL PRIMER MAYOR: %d\n",orden[14]);

printf("POSICION ORIGINAL SEGUNDO MAYOR: %d\n\n",orden[13]);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 6 (GUÍA 2)

MODIFICANDO EL EJERCICIO 3, IMPRIMA LAS POSICIONES ORIGINALES DEL ARREGLO

Breve descripción del programa: Este programa toma un arreglo introducido por el usuario, luego lo ordena utilizando el método de la burbuja y finalmente muestra las posiciones originales que tenía cada elemento del arreglo antes de ser ordenado. Para eso se crea un nuevo arreglo de orden de los elementos y se le aplica el método de la burbuja de modo que cuando un elemento del arreglo original cambia de posición, su número de orden correspondiente también lo hace.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 6 (GUIA 2)\n");

printf("\t\t\t ====================\n");

int arreglo[10],ciclo1,pasadas,i,almacena,orden[10],almacenaorden;

printf("\nPROBLEMA: MODIFICANDO EL EJERCICIO 3, IMPRIMA LAS POSICIONES ORIGINALES DEL\nARREGLO.\n\n");

printf("SOLUCION:\n\n");

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<10;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGLO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Crear arreglo de orden.

for(ciclo1=0;ciclo1<10;ciclo1++){

orden[ciclo1]=ciclo1;

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<10;i++){

printf("[%d] ",arreglo[i]);

}

//Mostrar posiciones originales.

printf("\n\nPOSICIONES ORIGINALES: \n\n");

for(i=0;i<10;i++){

printf("[%d] ",orden[i]);

}

printf("\n\n");

//Ciclo para controlar el número de pasos.

for(pasadas=1;pasadas<10;pasadas++){

//Ciclo para controlar el número de comparaciones por pasada.

for(i=0;i<9;i++){

//Compara los elementos adyacentes y los intercambia si el primer elemento es mayor que el segundo.

if(arreglo[i]>arreglo[i+1]){

almacena=arreglo[i];

arreglo[i]=arreglo[i+1];

arreglo[i+1]=almacena;

almacenaorden=orden[i];//Método de la burbuja aplicado al arreglo de las posiciones originales.

orden[i]=orden[i+1];

orden[i+1]=almacenaorden;

}//Fin del if.

}//Fin del for interno.

}//Fin del for externo.

printf("EL ARREGLO ORDENADO ES EL SIGUIENTE2: \n\n");

for(i=0;i<10;i++){

printf("[%d] ",arreglo[i]);

}

//Mostrar posiciones originales.

printf("\n\nPOSICIONES ORIGINALES ANTES DE ORDENAR EL ARREGLO: \n\n");

for(i=0;i<10;i++){

printf("[%d] ",orden[i]);

}

printf("\n\n");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 7 (GUÍA 2)

ELABORE UN PROGRAMA QUE IMPRIMA EN ORDEN INVERSO UNA CADENA DE CARACTERES

Breve descripción del programa: Este programa ya utiliza nuevas librerías que no se había estado utilizando en los ejercicios anteriores. Estas librerías son necesarias para el trabajo con cadenas. Se utiliza también una función que permite contar el tamaño de la cadena y con eso se genera el ciclo para que invierta el orden, generando un arreglo diferente al que se tenía originalmente para que la cadena quede con un orden invertido y resolver así el problema planteado por este ejercicio.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <string>

#include <iostream>

#include <ctime>

using namespace std;//Necesario para que funcione.

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 7 (GUIA 2)\n");

printf("\t\t\t ====================\n");

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE IMPRIMA EN ORDEN INVERSO UNA CADENA DE\nCARACTERES.\n\n");

printf("SOLUCION:\n\n");

string cadena;

printf("INTRODUZCA UNA CADENA DE CARACTERES:\n\n");

int cant_letras,x;

getline(cin,cadena);

cant_letras= cadena.length();//Cuenta cuántas letras hay en la cadena.

printf("LA CADENA DE CARACTERES EN ORDEN INVERSO ES:\n\n");

for (x=cant_letras;x>=0;x--){

cout<<cadena[x];

}

printf("\n\n");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 8 (GUÍA 2)

ELABORE UN PROGRAMA QUE PERMITA INTRODUCIR UN ARREGLO DE 10 ELEMENTOS, EL PROGRAMA MOSTRARA UN HISTOGRAMA DE ESOS DATOS

Breve descripción del programa: Este programa muestra un histograma que utiliza como frecuencia de cada clase los números introducidos por el usuario en el arreglo original. Para esto se utilizan los asteriscos como cadenas y se usa también un ciclo que vaya haciendo crecer el número de asteriscos que aparecerán juntos de acuerdo al número que se esté evaluendo. Esto se hace para cada elemento del arreglo y así se generará el resultado. Se necesita usar ciclos anidados (un "for" dentro de otro), y es necesario tener mucho cuidado con los ciclos y el incremento que va sufriendo la cadena que muestra los asteriscos para cada elemento del arreglo.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <string>

#include <iostream>

using namespace std;

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 8 (GUIA 2)\n");

printf("\t\t\t ====================\n");

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE PERMITA INTRODUCIR UN ARREGLO DE 10 ELEMENTOS,EL PROGRAMA MOSTRARA UN HISTOGRAMA DE ESOS DATOS.\n\n");

printf("SOLUCION:\n\n");

int ciclo1,arreglo[10],i,asterisco;

string numdeasteriscos;

string dosespacios;

string tresespacios;

dosespacios=' ';//Para dejar un margen izquierdo de dos espacios y dos espacios entre arreglo[i] y numdeasteriscos.

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<10;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<10;i++){

numdeasteriscos='*';

for(asterisco=1;asterisco<arreglo[i];asterisco++){

numdeasteriscos=(numdeasteriscos)+'*';

}

cout << dosespacios << arreglo[i] << dosespacios << numdeasteriscos << endl;//Ahí se está concatenando todo.

}

printf("\n");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 9 (GUÍA 2)

ELABORE UN PROGRAMA QUE MUESTRE LAS INICIALES DE UNA CADENA DE CARACTERES. EJEMPLO: CADENA ORIGINAL: UNIVERSIDAD CATOLICA DE OCCIDENTE. INICIALES: UCDO

Breve descripción del programa: Este programa toma las iniciales de una cadena de carácteres introducida por el usuario. Esto no se ha hecho con funciones preestablecidas por Microsoft Visual C++ para encontrar iniciales, sino que simplemente programando que primeramente se cuente el número de caracteres (incluyendo los espacios como caracteres) que tiene la cadena introducida por el usuario. Luego con un ciclo se hace que el programa comience a examinar desde el primer elemento del arreglo hasta el último (desde el primer carácter de la cadena hasta la última).

Cada vez que se encuentre un espacio en blanco, se ordena que se extraiga el carácter que está después del espacio y que se guarde en una variable. Cada vez que suceda eso se irá tomando el carácter que aparezca después del espacio y la variable que almacena las iniciales irá recibiendo nuevas letras hasta que se llegue a la última letra inicial. Finalmente se manda a imprimir la variable que contiene las iniciales.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <string>

#include <iostream>

#include <ctime>

using namespace std;//Necesario para que funcione.

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 9 (GUIA 2)\n");

printf("\t\t\t ====================\n");

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE MUESTRE LAS INICIALES DE UNA CADENA DE\nCARACTERES. EJEMPLO: CADENA ORIGINAL: UNIVERSIDAD CATOLICA DE OCCIDENTE.\nINICIALES: UCDO.\n\n");

printf("SOLUCION:\n\n");

string cadena,resultado;

int cant_letras,x;

getline(cin,cadena);//Para que el usuario ingrese la cadena.

cant_letras= cadena.length();//Cuenta cuántas letras hay en la cadena.

printf("LAS INICIALES DE LA CADENA DE CARACTERES INTRODUCIDA SON:\n\n");

resultado=cadena[0];

for(x=0;x<cant_letras;x++){

if(cadena[x]==' '){

resultado=resultado+cadena[x+1];

}

}

cout << resultado;

printf("\n\n");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 10 (GUÍA 2)

ELABORE UN PROGRAMA QUE PERMITA INTRODUCIR UN ARREGLO DE 25 ELEMENTOS DE TIPO ENTERO. LUEGO PEDIR AL USUARIO QUE INTRODUZCA UN NUMERO. EL PROGRAMA MOSTRARA EL NUMERO DE VECES QUE SE REPITE DICHO VALOR EN EL ARREGLO

Breve descripción del programa: Este programa funciona como un buscador de elementos dentro de un arreglo. Primer el usuario introduce valores que crean un arreglo. Luedo de eso el usuario introduce un número y ese valor se buscará en cada elemento del arreglo de manera que por cada vez que aparezca, un contador se incremente en 1 para que al final de todo se diga cuántas veces aparece el número que el usuario quiere buscar en el arreglo original.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 10 (GUIA 2)\n");

printf("\t\t\t =====================\n");

int arreglo[25],ciclo1,i,valor,ciclo2,contador=0;

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE PERMITA INTRODUCIR UN ARREGLO DE 25 ELEMENTOS DE TIPO ENTERO. LUEGO PEDIR AL USUARIO QUE INTRODUZCA UN NUMERO. EL PROGRAMA MOSTRARA EL NUMERO DE VECES QUE SE REPITE DICHO VALOR EN EL ARREGLO.\n\n");

printf("SOLUCION:\n\n");

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<25;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGLO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<25;i++){

printf("[%d]",arreglo[i]);

}

printf("\n\n");

//Pide el valor a buscar.

printf("INTRODUZCA EL NUMERO QUE DESEA BUSCAR EN EL ARREGLO: ");

scanf("%d",&valor);

for(ciclo2=0;ciclo2<25;ciclo2++){

if(arreglo[ciclo2]==valor){

contador=contador+1;

}

}

printf("\nEL NUMERO %d SE REPITE %d VECES EN EL ARREGLO.\n\n",valor,contador);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 1 (GUÍA 3)

ELABORE UN PROGRAMA QUE PERMITA ENCONTRAR EL PRIMER Y SEGUNDO MENOR DE UN ARREGLO DE 15 ELEMENTOS

Breve descripción del programa: Este programa utiliza el método de la burbuja para ordenar los elementos de menor a mayor y finalmente determina que los elementos 0 y 1 del nuevo arreglo (luego de haber usado el método de la burbuja) son el primer y el segundo mayor.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 1 (GUIA 3)\n");

printf("\t\t\t ====================\n");

int arreglo[15],ciclo1,pasadas,i,almacena;

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE PERMITA ENCONTRAR EL PRIMER Y SEGUNDO MENOR DE UN ARREGLO DE 15 ELEMENTOS.\n\n");

printf("SOLUCION:\n\n");

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<15;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGLO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<15;i++){

printf("[%d] ",arreglo[i]);

}

printf("\n\n");

//Ciclo para controlar el número de pasos.

for(pasadas=1;pasadas<15;pasadas++){

//Ciclo para controlar el número de comparaciones por pasada.

for(i=0;i<14;i++){

//Compara los elementos adyacentes y los intercambia si el primer elemento es mayor que el segundo.

if(arreglo[i]>arreglo[i+1]){

almacena=arreglo[i];

arreglo[i]=arreglo[i+1];

arreglo[i+1]=almacena;

}//Fin del if.

}//Fin del for interno.

}//Fin del for externo.

printf("LOS PRIMEROS DOS MENORES DEL ARREGLO DE 15 ELEMENTOS SON: \n\n");

printf("PRIMER MENOR: %d\n",arreglo[0]);

printf("SEGUNDO MENOR: %d",arreglo[1]);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\n\nSI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}

}

EJERCICIO 2 (GUÍA 3)

UN NUMERO SE DICE QUE ES PERFECTO SI SUS FACTORES, INCLUYENDO A 1 (PERO EXCLUYENDO EL NUMERO MISMO), SUMAN IGUAL QUE EL NUMERO. POR EJEMPLO, 6 ESUN NUMERO PERFECTO PORQUE 6 = 1 + 2 + 3. ESCRIBA UN PROGRAMA QUE DETERMINE SI UN NUMERO ES PERFECTO. REALICE UN PROGRAMA EN C QUE DETERMINE E IMPRIMA TODOS LOS NUMEROS PERFECTOS ENTRE 1 Y 1000. IMPRIMA LOS FACTORES DE CADA NUMERO PERFECTO PARA CONFIRMAR QUE EL NUMERO DE VERDAD ES PERFECTO

Breve descripción del programa: Primeramente en este programa se sacan los múltiplos de un número y el ciclo se programa de tal forma que no tome como múltiplo el número mismo que se está evaluando. Luego cada uno de los múltiplos encontrados los suma y si el resultado de dicha suma es igual al número que se está evaluando entonces se concluye que se trata de un número perfecto. Debido a que el problema nos pide los números perfectos entre 0 y 1000, los únicos que existen son el 6, el 28 y el 496.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 2 (GUIA 3)\n");

printf("\t\t\t ====================\n");

printf("\nPROBLEMA: UN NUMERO SE DICE QUE ES PERFECTO SI SUS FACTORES, INCLUYENDO A 1\n(PERO EXCLUYENDO EL NUMERO MISMO), SUMAN IGUAL QUE EL NUMERO. POR EJEMPLO, 6 ESUN NUMERO PERFECTO PORQUE 6 = 1 + 2 + 3. ESCRIBA UN PROGRAMA QUE DETERMINE SI\nUN NUMERO ES PERFECTO. REALICE UN PROGRAMA EN C QUE DETERMINE E IMPRIMA TODOS\nLOS NUMEROS PERFECTOS ENTRE 1 Y 1000. IMPRIMA LOS FACTORES DE CADA NUMERO\nPERFECTO PARA CONFIRMAR QUE EL NUMERO DE VERDAD ES PERFECTO.\n\n");

printf("SOLUCION:\n\n");

int numero,contador,ciclo,residuo;

for(numero=1;numero<=1000;numero++){//Ciclo hasta 1000 porque el ejercicio pide buscar los números perfectos entre 1 y 1000.

contador=0;//La variable contador sirve para contar cuántos factores tiene cada número del 1 al 1000, sin tomar en cuenta como factor el número mismo que se está evaluando.

for(ciclo=1;ciclo<numero;ciclo++){

residuo=numero%ciclo;

if(residuo==0){

contador=contador+1;

}

}

int arreglo[28];//Se evaluarán 1000 números pero el número 1000 nunca tendría 1000 factores. 28 elementos es suficiente.

int indice,ciclo1,residuo1;

indice=0;//La variable indice se usará para determinar el número de un elemento dentro del arreglo y comienza con cero, tal como sucede en todos los arreglos que el primer elemento es siempre el cero.

for(ciclo1=1;ciclo1<numero;ciclo1++){

residuo1=numero%ciclo1;

if(residuo1==0){

arreglo[indice]=ciclo1;

indice=indice+1;//El número del elemento del arreglo se va aumentando en una unidad.

}

}

int ciclo2,suma;

suma=0;

for(ciclo2=0;ciclo2<contador;ciclo2++){//El ciclo va desde el elemento cero del arreglo hasta el último, que es contador menos uno o bien menor que contador.

suma=suma+arreglo[ciclo2];//Suma los factores exceptuando el número mismo, para verificar si un número es perfecto.

}

if(suma==numero){

printf(" SUMA DE MULTIPLOS (EXCLUYENDO EL NUMERO MISMO) = NUMERO PERFECTO\n\n");

suma=0;

for(ciclo2=0;ciclo2<contador;ciclo2++){

printf("%d ",arreglo[ciclo2]);//Imprime factores del número perfecto.

}

printf("= %d\n\nPOR LO TANTO %d ES UN NUMERO PERFECTO\n\n",numero,numero);

}

}

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 3 (GUÍA 3)

ESCRIBA UNA FUNCION QUE TOME UN VALOR ENTERO Y REGRESE EL NUMERO CON SUS DIGITOS INVERTIDOS. POR EJEMPLO 1245, LA FUNCION DEVOLVERA 5421

Breve descripción del programa: Este programa invierte un número, de modo que si el usuario introduce 3456, el programa devuelve 6543. Se muestran los dígitos inversos de una cantidad que el usuario introduce.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <string>

#include <iostream>

#include <ctime>

#include <windows.h>

using namespace std;//Necesario para que funcione.

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 3 (GUIA 3)\n");

printf("\t\t\t ====================\n");

printf("\nPROBLEMA: ESCRIBA UNA FUNCION QUE TOME UN VALOR ENTERO Y REGRESE EL NUMERO CON\nSUS DIGITOS INVERTIDOS. POR EJEMPLO 1245, LA FUNCION DEVOLVERA 5421.\n\n");

printf("SOLUCION:\n\n");

string cadena;

int cant_letras,x;

printf("INTRODUZCA UN VALOR ENTERO: ");

getline(cin,cadena);

cant_letras= cadena.length();//Cuenta cuántas letras hay en la cadena.

printf("LOS DIGITOS INVERSIDOS SON:\n\n");

for (x=cant_letras;x>=0;x--){

cout<<cadena[x];

}

printf("\n\n");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 4 (GUÍA 3)

SI SE LANZA UN DADO 1000 VECES, CUAL SERA EL VALOR DE REPETICION DE CADA UNA DE LAS CARAS DEL DADO, UTILIZANDO LA FUNCION RANDOM, ESCRIBA UN PROGRAMA QUE DE COMO SALIDA LA CANTIDAD DE VECES QUE APARECE CADA UNA DE LAS CARAS DEL DADO

Breve descripción del programa: Este programa utiliza un contador para cada uno de los resultados de las caras para que al final se imprima cuántas veces apareció cada cara. Es claro también que se pudo desarrollar este programa gracias a la función random, pues es así como se simula perfectamente el lanzamiento de un dado. Se utiliza un ciclo que se ejecuta 1000 veces para que se simule que el dado se lanza 1000 veces.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#include <time.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 4 (GUIA 3)\n");

printf("\t\t\t ====================\n");

printf("\nPROBLEMA: SI SE LANZA UN DADO 1000 VECES, CUAL SERA EL VALOR DE REPETICION DE\nCADA UNA DE LAS CARAS DEL DADO, UTILIZANDO LA FUNCION RANDOM, ESCRIBA UN\nPROGRAMA QUE DE COMO SALIDA LA CANTIDAD DE VECES QUE APARECE CADA UNA DE LAS\nCARAS DEL DADO.\n\n");

printf("SOLUCION:\n\n");

int ciclo,lanzamiento,cara1,cara2,cara3,cara4,cara5,cara6;

cara1=0;

cara2=0;

cara3=0;

cara4=0;

cara5=0;

cara6=0;

srand(time(NULL));//Inicializar generador aleatorio.

for(ciclo=1;ciclo<=1000;ciclo++){

lanzamiento=1+rand()%6;//Generar números aleatorios.

switch(lanzamiento){

case 1:

cara1=cara1+1;

break;

case 2:

cara2=cara2+1;

break;

case 3:

cara3=cara3+1;

break;

case 4:

cara4=cara4+1;

break;

case 5:

cara5=cara5+1;

break;

case 6:

cara6=cara6+1;

break;

}

}

printf("EL NUMERO DE REPETICIONES PARA CADA UNA DE LAS CARAS LUEGO DE LOS 1000\nLANZAMIENTOS (USANDO CRITERIOS DE ALEATORIEDAD) ES:\n\n");

printf("CARA UNO.....%d\n",cara1);

printf("CARA DOS.....%d\n",cara2);

printf("CARA TRES....%d\n",cara3);

printf("CARA CUATRO..%d\n",cara4);

printf("CARA CINCO...%d\n",cara5);

printf("CARA SEIS....%d\n\n",cara6);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

EJERCICIO 5 (GUÍA 3)

ELABORE UN PROGRAMA QUE PERMITA INTRODUCIR UN ARREGLO DE 8 ELEMENTOS DE TIPO ENTERO. EL PROGRAMA MOSTRARA UN ARREGLO EN DONDE MUESTRE UN 1 PARA LOS PRIMOS Y UN 0 PARA LOS NO PRIMOS

Breve descripción del programa: Este programa tiene doble complejidad porque primero se debe determinar si un número es primo o no y hacerlo para cada elemento del arreglo original introducido. En segundo lugar se debe imprimir un 0 o 1 si cada elemento del arreglo original es primo o no, y ese 0 o 1 hay que ubicarlo en un nuevo arreglo que corresponderá a cada elemento del arreglo original. Pero todo se hace fácilmente con los ciclos y determinando dentro del ciclo si un número es primo o no lo es. Los ciclos anidados son necesarios en este programa y es así como se desarrolla el programa.

La ejecución del programa se muestra de la siguiente forma:

El código del programa es el siguiente:

#include <stdio.h>

#include <windows.h>

#define FONDO (0)

#define VERDE (10)

#define AMARILLO (14)

void main(){

HANDLE hStdInput=INVALID_HANDLE_VALUE,

hStdOutput=INVALID_HANDLE_VALUE;

hStdInput=GetStdHandle(STD_INPUT_HANDLE);

hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("\n\t\t\tUNIVERSIDAD CATOLICA DE OCCIDENTE\n");

printf("\t\t FACULTAD DE INGENIERIA Y ARQUITECTURA\n\n\n");

printf("\t\t\t\tPROGRAMACION II\n\n\n");

printf("\t\tPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE ARREGLOS\n\t\t DESARROLLADOS EN MICROSOFT VISUAL C++\n\n\n");

printf("\t\t PROFESORA: ING. JEANNETTE A. CHACON MONTUFAR\n\n\n");

printf("\t\t\t\t ALUMNOS:\n");

printf("\n\t\t\t EDILBERTO ABDULIO BANOS MARTINEZ\n");

printf("\t\t\t JAIME OSWALDO MONTOYA GUZMAN\n\n\n");

printf("\t\t PRESENTACION: MARTES, 13 DE JUNIO DE 2006");

Sleep (7000);//7 segundos permanecerá la portada antes de que aparezca la ventana del ejercicio resuelto.

float salir;

int saliryesno;

salir=0;

while(salir==0){

system("cls");

SetConsoleTextAttribute(hStdOutput,FONDO|VERDE);

printf("\n\t\t\t EJERCICIO 5 (GUIA 3)\n");

printf("\t\t\t ====================\n");

int arreglo[8],ciclo1,pasadas,i,almacena,ciclo,residuo,contador,primos[8];

printf("\nPROBLEMA: ELABORE UN PROGRAMA QUE PERMITA INTRODUCIR UN ARREGLO DE 8 ELEMENTOS DE TIPO ENTERO. EL PROGRAMA MOSTRARA UN ARREGLO EN DONDE MUESTRE UN 1 PARA LOS PRIMOS Y UN 0 PARA LOS NO PRIMOS.\n\n");

printf("SOLUCION:\n\n");

//Pedir arreglo al usuario.

for(ciclo1=0;ciclo1<8;ciclo1++){

printf("INTRODUZCA EL ELEMENTO %d DEL ARREGLO: ",ciclo1);

scanf("%d",&arreglo[ciclo1]);

}

//Mostrar arreglo introducido por usuario.

printf("\nEL ARREGLO INTRODUCIDO ES EL SIGUIENTE: \n\n");

for(i=0;i<8;i++){

printf("[%d] ",arreglo[i]);

}

printf("\n\n");

//Crear arreglo primos o no.

for(ciclo1=0;ciclo1<8;ciclo1++){

for(ciclo=1;ciclo<=arreglo[ciclo1];ciclo++){

residuo=arreglo[ciclo1]%ciclo;

if(residuo==0){

contador=contador+1;

}

}

if(contador<=2){

primos[ciclo1]=1;

}

else{

primos[ciclo1]=0;

}

contador=0;

}

//Mostrar arreglo de primos o no primos.

printf("\nEL ARREGLO QUE MUESTRA 1 PARA NUMEROS PRIMOS Y 0 PARA NUMEROS QUE NO SON PRIMOS ES EL SIGUIENTE:\n\n");

for(i=0;i<8;i++){

printf("[%d] ",primos[i]);

}

printf("\n\n");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("\n\a");

salir=1;

}

}//Fin del while.

}

CONCLUSIÓN

Luego de haber resuelto satisfactoriamente cada uno de los problemas propuestos en la guía de ejercicios, se concluye que este trabajo ha sido de mucho beneficio en el aprendizaje porque se pudo poner en práctica la teoría y los conocimientos adquiridos de programación en C++ para la solución de problemas que tienen una complejidad básica que todo programador debe saber resolver.

Las impresiones de pantalla mostradas sirven para poder comparar el código con la ejecución de los programas.

Se muestran ciertos comentarios a lo largo del código para recordar o aclarar algunos detalles importantes.

Se concluye que este tipo de ejercicios son muy importante de desarrollar para todo programador, pues exigen la utilización de las herramientas básicas como las condiciones "if", los ciclos "for", los criterios de aleatoriedad para generar valores, el manejo y programación de cadenas de caracteres y por supuesto los arreglos y manipulación de arreglos y búsqueda de datos dentro de estos. Todo ello se ha puesto en práctica en el desarrollo de estos ejercicios y al mismo tiempo se ha utilizado la creatividad y el análisis (indispensable para un programador) para encontrar la mejor solución a los problemas que se nos asignaron.

 

DATOS DEL AUTOR

Jaime Oswaldo Montoya Guzmán

Lugar y fecha de nacimiento: San Salvador, 16 de julio de 2006

Profesión: Estudiante de Ingeniería en Sistemas Informáticos ciclo III en la Universidad Católica de Occidente (UNICO)

Lugar: Santa Ana

Tema del trabajo: Programas aritméticos, de aleatoriedad y de arreglos desarrollados en Microsoft Visual C++

Asignatura: Programación II

Fecha de envío del trabajo: Lunes, 5 de junio de 2006

Sitio web personal:

http://jaimemontoya.googlepages.com


Partes: 1, 2, 3
Partes: 1, 2, 3


 Página anterior Volver al principio del trabajoPágina siguiente 

Comentarios


Trabajos relacionados

Ver mas trabajos de Programacion

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.