Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT
VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 4 (GUIA 2)n");

printf("ttt ====================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.nn");

printf("SOLUCION:nn");

//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:
nn");

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

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

}

printf("nn");

//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: nn");

printf("PRIMER MAYOR: %dn",arreglo[14]);

printf("SEGUNDO MAYOR: %dnn",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("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 5 (GUIA 2)n");

printf("ttt ====================n");

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

printf("nPROBLEMA: MODIFICANDO EL EJERCICIO 4, IMPRIMA
EN QUE POSICIONES SE ENCUENTRANnESOS NUMEROS.nn");

printf("SOLUCION:nn");

//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:
nn");

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

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

}

printf("nn");

//Mostrar posiciones
originales.

printf("POSICIONES ORIGINALES: nn");

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("nnLOS PRIMEROS DOS MAYORES DEL ARREGLO DE 15
ELEMENTOS SON: nn");

printf("PRIMER MAYOR: %dn",arreglo[14]);

printf("SEGUNDO MAYOR: %dnn",arreglo[13]);

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

printf("POSICION ORIGINAL SEGUNDO MAYOR:
%dnn",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("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 6 (GUIA 2)n");

printf("ttt ====================n");

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

printf("nPROBLEMA: MODIFICANDO EL EJERCICIO 3, IMPRIMA
LAS POSICIONES ORIGINALES DELnARREGLO.nn");

printf("SOLUCION:nn");

//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:
nn");

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

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

}

//Mostrar posiciones
originales.

printf("nnPOSICIONES ORIGINALES: nn");

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

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

}

printf("nn");

//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:
nn");

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

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

}

//Mostrar posiciones
originales.

printf("nnPOSICIONES ORIGINALES ANTES DE ORDENAR EL
ARREGLO: nn");

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

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

}

printf("nn");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

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

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 7 (GUIA 2)n");

printf("ttt ====================n");

printf("nPROBLEMA: ELABORE UN PROGRAMA QUE IMPRIMA EN
ORDEN INVERSO UNA CADENA DEnCARACTERES.nn");

printf("SOLUCION:nn");

string cadena;

printf("INTRODUZCA UNA CADENA DE
CARACTERES:nn");

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:nn");

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

cout<<cadena[x];

}

printf("nn");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

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

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 8 (GUIA 2)n");

printf("ttt ====================n");

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

printf("SOLUCION:nn");

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:
nn");

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("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 9 (GUIA 2)n");

printf("ttt ====================n");

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

printf("SOLUCION:nn");

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:nn");

resultado=cadena[0];

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

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

resultado=resultado+cadena[x+1];

}

}

cout << resultado;

printf("nn");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

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

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 10 (GUIA 2)n");

printf("ttt =====================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.nn");

printf("SOLUCION:nn");

//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:
nn");

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

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

}

printf("nn");

//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.nn",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("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 1 (GUIA 3)n");

printf("ttt ====================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.nn");

printf("SOLUCION:nn");

//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:
nn");

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

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

}

printf("nn");

//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: nn");

printf("PRIMER MENOR: %dn",arreglo[0]);

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

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

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

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 2 (GUIA 3)n");

printf("ttt ====================n");

printf("nPROBLEMA: UN NUMERO SE DICE QUE ES PERFECTO SI
SUS FACTORES, INCLUYENDO A 1n(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 SInUN
NUMERO ES PERFECTO. REALICE UN PROGRAMA EN C QUE DETERMINE E
IMPRIMA TODOSnLOS NUMEROS PERFECTOS ENTRE 1 Y 1000. IMPRIMA LOS
FACTORES DE CADA NUMEROnPERFECTO PARA CONFIRMAR QUE EL NUMERO DE
VERDAD ES PERFECTO.nn");

printf("SOLUCION:nn");

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 PERFECTOnn");

suma=0;

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

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

}

printf("= %dnnPOR LO TANTO %d ES UN NUMERO
PERFECTOnn",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("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 3 (GUIA 3)n");

printf("ttt ====================n");

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

printf("SOLUCION:nn");

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:nn");

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

cout<<cadena[x];

}

printf("nn");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

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

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 4 (GUIA 3)n");

printf("ttt ====================n");

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

printf("SOLUCION:nn");

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 1000nLANZAMIENTOS (USANDO CRITERIOS DE
ALEATORIEDAD) ES:nn");

printf("CARA UNO…..%dn",cara1);

printf("CARA DOS…..%dn",cara2);

printf("CARA TRES….%dn",cara3);

printf("CARA CUATRO..%dn",cara4);

printf("CARA CINCO…%dn",cara5);

printf("CARA SEIS….%dnn",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("na");

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("ntttUNIVERSIDAD CATOLICA DE
OCCIDENTEn");

printf("tt FACULTAD DE INGENIERIA Y
ARQUITECTURAnnn");

printf("ttttPROGRAMACION IInnn");

printf("ttPROGRAMAS ARITMETICOS, DE ALEATORIEDAD Y DE
ARREGLOSntt DESARROLLADOS EN MICROSOFT VISUAL
C++nnn");

printf("tt PROFESORA: ING. JEANNETTE A. CHACON
MONTUFARnnn");

printf("tttt ALUMNOS:n");

printf("nttt EDILBERTO ABDULIO BANOS
MARTINEZn");

printf("ttt JAIME OSWALDO MONTOYA
GUZMANnnn");

printf("tt 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("nttt EJERCICIO 5 (GUIA 3)n");

printf("ttt ====================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.nn");

printf("SOLUCION:nn");

//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:
nn");

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

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

}

printf("nn");

//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:nn");

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

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

}

printf("nn");

SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);

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

scanf("%d",&saliryesno);

if(saliryesno==1){

printf("na");

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 

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.

Categorias
Newsletter