ejercicios de programación ii.docx

28
Ejercicios de Programación II JAVA http://netbeanspractico.blogspot.com/2013/04/funcion- matematica.html EJEMPLOS JAVA NETBEANS 1. realizar un programa en java netbeans que pida un digito y lo valla sumando y muestre el resultado este operación debe realizarse hasta que el usuario digite el numero 25 . package ejercicio.pkg1; import javax.swing.JOptionPane; public class Ejercicio1 { public static void main(String[] args) { String a; int n,s=0,c=1; while (c==1){ a=JOptionPane.showInputDialog("digite un numero"; ) ; n=Integer.parseInt(a) ; s=s+n; if (n==25){ c=2;

Upload: edisson-javier-gomez

Post on 26-Oct-2015

155 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Ejercicios de Programación II.docx

Ejercicios de Programación IIJAVA

http://netbeanspractico.blogspot.com/2013/04/funcion-matematica.html

EJEMPLOS JAVA NETBEANS 

1. realizar un programa en java netbeans que pida un digito y lo valla sumando y muestre el resultado este operación debe realizarse hasta que el usuario digite el numero 25. 

package ejercicio.pkg1;import javax.swing.JOptionPane;public class Ejercicio1 {public static void main(String[] args) {String a;int n,s=0,c=1;while (c==1){a=JOptionPane.showInputDialog("digite un numero"; ) ;n=Integer.parseInt(a) ;s=s+n;if (n==25){c=2;}JOptionPane.showMessageDialog(null,"la sumatoria es "+s,"",JOptionPane.PLAIN_MESSAGE) ;}}}

2. Realizar un programa en java netbeans que pida 3 digito al usuario,

Page 2: Ejercicios de Programación II.docx

en el cual debe encontrar el número del centro. Debe dejar de pedir número al usuario y realizar esta operación hasta que la suma total de los tres digito sea igual a 15.* To change this template, choose Tools | Templates* and open the template in the editor.package ejercicio.pkg1;import javax.swing.JOptionPane;* @authorpublic class Ejercicio1 {@param args the command line arguments

public static void main(String[] args) {String a,b,c;int n1,n2,n3,con=1,suma;while (con==1){a=JOptionPane.showInputDialog("digite #1"; ) ;b=JOptionPane.showInputDialog("digite #2"; ) ;c=JOptionPane.showInputDialog("digite #3"; ) ;n1=Integer.parseInt(a) ;n2=Integer.parseInt(b) ;n3=Integer.parseInt(c) ;if (n1==n2||n2==n3||n3==n1) {JOptionPane.showMessageDialog(null,"Hay un numero repetido no se puede hallar el del centro","",JOptionPane.ERROR_MESSAGE) ; }else{if(n1>n2&&n1<n3||n1<n2&&n1>n3){JOptionPane.showMessageDialog(null,"el numero del centro es"+n1,"",JOptionPane.PLAIN_MESSAGE) ;}else if(n2>n1&&n2<n3||n2<n1&&n2>n3){JOptionPane.showMessageDialog(null,"el numero del centro es"+n2,"",JOptionPane.PLAIN_MESSAGE);}else if(n3>n2&&n3<n1||n3<n2&&n3>n1){JOptionPane.showMessageDialog(null,"el numero del centro es"+n3,"",JOptionPane.PLAIN_MESSAGE) ;}}suma=n1+n2+n3;if (suma==15){con=2;}

Page 3: Ejercicios de Programación II.docx

}}}

3. Realizar un programa en java netbeans en el cual debe pedir 3 dígitos al usuario. Hallar el Máximo común Divisor, este programa debe cerrarse hasta el M. C.D. sea mayor a 10.

package javaapplication13;import javax.swing.JOptionPane;@author Administrador

public class JavaApplication13 {

* @param args the command line arguments

public static void main(String[] args) {String num1,num2,num3;int n1,n2,n3,con=0,a, mcd=0;while (con==0){num1=JOptionPane.showInputDialog(" ingrese primer numero" ) ;num2=JOptionPane.showInputDialog(" ingrese el segundo numero" ) ;num3=JOptionPane.showInputDialog(" ingrese tercer numero" ) ;n1=Integer.parseInt(num1) ;n2=Integer.parseInt(num2) ;n3=Integer.parseInt(num3) ;

if(n1<2&&n1<n3) {a=n1; }else if (n2<n1&&n2<n3){a=n2; }else {a=n3; }

for(int x=1; x<=a; x++){if(n1 % x == 0 & n2 % x == 0 & n3 % x == 0){

Page 4: Ejercicios de Programación II.docx

mcd=x; } }JOptionPane.showMessageDialog(null,"m.c.d es "+mcd) ;if(mcd>10){con=1; }}}}

4. Realizar un programa en java netbeans en el cual pueda hallar el área de:a/ área al cuadradob/ área del trianguloc/área rectángulod/área circulo

salir

* To change this template, choose Tools | Templates* and open the template in the editor.

package javaapplication5;

import javax.swing.JOptionPane;* @author Administradorpublic class JavaApplication5 {

* @param args the command line argumentspublic static void main(String[] args) {String num1,num2,num3;

Page 5: Ejercicios de Programación II.docx

int a,cont=1;float b,c,resp;

do{num1=JOptionPane.showInputDialog("ELEJIR ARIA A REALIZAR n1 area al cuadradon2 area del triangulon3 area del rectangulon4 area del circulon5 SALIR " ; ) ;a= Integer.parseInt(num1);switch (a){

case 1: 

num2=JOptionPane.showInputDialog("ingrese primer lado "; ) ;b= Float.parseFloat(num2) ;

resp=b*b;JOptionPane.showMessageDialog(null,"area del cuadrado "+ resp,"Resultado",JOptionPane.PLAIN_MESSAGE);break;

case 2:

num2=JOptionPane.showInputDialog("ingrese base"; ) ;b= Float.parseFloat(num2) ;num3=JOptionPane.showInputDialog("ingrese Altura"; ) ;c= Float.parseFloat(num3) ;

resp=(b*c)/2 ;JOptionPane.showMessageDialog(null,"area del Triangulo "+ resp,"Resultado",JOptionPane.PLAIN_MESSAGE) ;break;

case 3:

num2=JOptionPane.showInputDialog("ingrese base"; ) ;b= Float.parseFloat(num2) ;num3=JOptionPane.showInputDialog("ingrese Altura"; ) ;c= Float.parseFloat(num3) ;

resp= b*c;JOptionPane.showMessageDialog(null,"area del Rectangulo "+ resp,"Resultado",JOptionPane.PLAIN_MESSAGE) ;break;

case 4:

num2=JOptionPane.showInputDialog("ingrese Radio"; ) ;b= Float.parseFloat(num2) ; 

resp = (float) Math.PI * (float) Math.pow(b,2) ;

JOptionPane.showMessageDialog(null,"area del Circulo "+ resp,"Resultado",JOptionPane.PLAIN_MESSAGE);break; 

case 5:cont = cont + 1; 

Page 6: Ejercicios de Programación II.docx

JOptionPane.showMessageDialog(null,"salir ","salir",JOptionPane.PLAIN_MESSAGE) ;break;

default: JOptionPane.showMessageDialog(null,"Numero no Valido ","ERROR",JOptionPane.ERROR_MESSAGE) ; } }

while(cont==1) ; }}

5. Realizar un programa en netbeans el cual el programa de dos numero cualquiera, diga cual es el mayor y cual es el menor de los dígitos dado por el programa a lazar, la suma total de eso dos dígitos , a^b , raíz cuadrada de la suma de los dos dígitos , este programa debe cerrarse hasta que el resultado de la raíz sea mayor a 4.

package ejerciciosenclase;import javax.swing.JOptionPane;public class Ejerciciosenclase {public static void main(String[] args) {//comienzan los codigosint x=0, n1=0, n2=0, res=0, res1, res2=0, p=0, p1=0;while(x==0){n1= (int) Math.ceil(Math.random() * 20); //aqui se le da valor random a la variable n2= (int) Math.ceil(Math.random() * 20); //aqui se le da valor random a la variable p= (int) Math.min(n1, n2) ; //aqui encuentro el número menorp1= (int) Math.max(n1, n2) ; //aqui encuentro el número mayorJOptionPane.showMessageDialog(null,"Primer random = "+n1) ; //aqui se muestran los resultados obtenidosJOptionPane.showMessageDialog(null,"Segundo random = "+n2) ;

Page 7: Ejercicios de Programación II.docx

JOptionPane.showMessageDialog(null,"Mayor = "+p1) ; JOptionPane.showMessageDialog(null,"Menor = "+p) ;res=n1+n2;//aqui se ase la suma de los números randomres1= (int) Math.sqrt(res);//aqui se saca la raiz cuadrada de la suma de los numeros randomres2= (int) Math.pow(n1, n2);//aqui se hace el numero elevadoJOptionPane.showMessageDialog(null,"Raiz cuadrada de "+res+" es = "+res1) ;//aqui se muestran los resultados obtenidosJOptionPane.showMessageDialog(null,"Número elevado = "+res2) ;if(res1>4){ //aqui se hace la toma de desiciones para cerrar el programa x=1;JOptionPane.showMessageDialog(null,"Programa se va a cerrar"; ) ;}} }}

C++

Crear un programa en C que lea dos números y que escriba el mayor de los dos.#include <stdio.h>int main(){double x,y;

printf("Escribe el primer número");scanf("%lf",&x);printf("Escribe el segundo número");scanf("%lf",&y);

if(x>y) printf("El mayor es %f",x);else if(y>x) printf("El mayor es %f",y);else printf("Son iguales");}

Crear un programa en C que lea un número e indique si es par o no#include <stdio.h>int main(){int x;

printf("Escribe el número (sin decimales");scanf("%i",&x);

if(x%2==0) printf("Es par");else printf("Es impar");}

Leer tres números y escribir el mayor de los tres#include <stdio.h>int main(){double x,y,z; //Lectura de datosprintf("Escribe el primer número");scanf("%lf",&x);

Page 8: Ejercicios de Programación II.docx

printf("Escribe el segundo número");scanf("%lf",&y);printf("Escribe el tercer número");scanf("%lf",&z);

if(x>y && x>z) { //El mayor es xif(y>z) printf("\t%lf\t%lf\t%lf", x, y, z);else printf("\t%lf\t%lf\t%lf", x, z, y);} else if (y>x && y>z) { //El mayor es yif (x>z) printf("\t%lf\t%lf\t%lf", y, x, z);else printf("\t%lf\t%lf\t%lf", y, z, x);}else { //El mayor es zif (x>y) printf("\t%lf\t%lf\t%lf", z, x, y);else printf("\t%lf\t%lf\t%lf", z, y, x);}}

Escribir un programa en C que lea números enteros indefinidamente hasta que llegue el número 0

#include <stdio.h>int main(){int x;do{scanf("%i",&x);}while(x!=0);} 

Escribir un programa C que lea exactamente 8 números y luego escriba la suma de todos ellos

#include <stdio.h>int main(){int x;int suma=0;

for(int i=1; i<=8; i++){scanf("%i",&x);suma+=x;}printf ("Suma= %i",suma);}

Modificar el programa anterior para que en lugar de leer 8 números, se puedan leer tantos números como se quiera hasta que llegue un cero. El resultado es la suma de todos los números leídos.

#include <stdio.h>int main(){int x;int suma=0;

do{

Page 9: Ejercicios de Programación II.docx

scanf("%i",&x);suma+=x;}while (x!=0);printf ("Suma= %i",suma);}

Intentar escribir un programa en C que lea tres números e indique el tipo de triángulo que forman (isósceles, equilatero, escaleno). Comprobar que los números realmente formen un triángulo, sino emitir el error.

#include <stdio.h>int main(){

int x,y,z;

printf ("Escribe el primer lado");scanf("%i",&x);printf ("\nEscribe el segundo lado");scanf("%i",&y);printf ("\nEscribe el tercer lado");scanf("%i",&z);

printf("\n\n\n"); //Saltar tres líneas

/*Comprobación de si es un tiángulo, damos por hecho que los números son positivos */if ((x+y>z) && (x+z>y) && (y+z)>x){

if (x==y && x==z) printf ("Equilátero"); else if (x==y || x==z || y==z) printf ("Isósceles"); else printf("Escaleno");

}else

printf("Esos números no forman un triángulo");} 

Modificar el programa anterior para que se pueda repetir indefinidamente si el usuario lo desea (que el ordenador pregunte ¿Quiere continuar? y la persona pueda responder S ó N)

#include <stdio.h>int main(){

int x,y,z;char resp;

do {printf ("Escribe el primer lado");scanf("%i",&x);printf ("\nEscribe el segundo lado");scanf("%i",&y);printf ("\nEscribe el tercer lado");scanf("%i",&z);

printf("\n\n\n"); //Saltar tres líneas

/*Comprobación de si es un triángulo,

Page 10: Ejercicios de Programación II.docx

damos por hecho que los números son positivos */if ((x+y>z) && (x+z>y) && (y+z)>x){

if (x==y && x==z) printf ("Equilátero"); else if (x==y || x==z || y==z) printf ("Isósceles"); else printf("Escaleno");

}else

printf("Esos números no forman un triángulo"); printf("\n¿Desea continuar (S/N)?)");scanf("%c",&resp);

}while (resp!='N' && resp!='n');}

Escribir un programa que escriba todos los múltiplos de 3 del número 1 al 3000#include <stdio.h>int main(){for(int i;i<=1000;i+=3)printf("%i\t",i);}

Programa que lea una serie de números (leer hasta que llegue el cero por ejemplo) y que calcule su media aritmética

#include <stdio.h>int main(){int i,suma=0,cont=0;do{printf("\nNúmero: ");scanf("%i",&i);suma+=i;if (i!=0) cont++;}while (i!=0);

if(cont!=0)printf("\nMedia: %5.2f",(float)suma/cont);elseprintf("\nNo hubo números");}

Programa que escriba todo el código ASCII (el código ASCII va de 0 a 255 y representa el número con el que los ordenadores almacenan los caracteres)

#include <stdio.h>int main(){

for(int i=0;i<=255;i++){printf("%c(%i)\t",i,(int)i);//Salto de línea cada 5 símbolosif (i%10==5) printf("\n");

}Programa que lea un número entero por teclado y que calcule su factorial

#include <stdio.h>int main(){

Page 11: Ejercicios de Programación II.docx

int x;double fact=1;printf("Escriba el número: ");scanf("%i",&x);

while(x>1) fact*=x--;

printf("Factorial =%lf",fact);}

Programa que lea una serie de números por teclado e indique cuál es el mayor#include <stdio.h>int main(){int i,mayor=0;

do{printf("\nNúmero: ");scanf("%i",&i);if (mayor<i) mayor=i;}while (i!=0);

printf("\nEl mayor es %i",mayor);}

Crear un programa que lea un número entero y a partir de él cree un cuadrado de asteriscos con ese tamaño. Los asteriscos sólo se verán en el borde del cuadrado, no en el interior-

#include <stdio.h>int main(){

int n,fila,col;

printf("tamaño del cuadrado: ");scanf("%d",&n);

/*Primera fila*/for(col=1;col<=n;col++){

printf("*");}printf("\n");

/*Filas interiores*/for(fila=2;fila<n;fila++){

printf("*");for(col=2;col<n;col++){

printf(" ");}printf("*");printf("\n");

}

/* Última fila*/for(col=1;col<=n;col++){

printf("*");}

Page 12: Ejercicios de Programación II.docx

Crear un programa C que lea cantidades y precios y al final indique el total de la factura. Primero se pregunta: Introduzca la cantidad vendida

tras lo cual el usuario introducirá un número entero positivo.Después se pregunta:Introduzca el precioque será un número decimal positivo.La lectura termina cuando en la cantidad se introduzca un cero. Si es así se escribirá el total.

#include <stdio.h>int main(){int n;double precio, total=0;

do{do{printf("\nIntroduzca la cantidad vendida: ");scanf("%d",&n);if(n<0) printf("Cantidad no valida");}while(n<0); if (n>0){printf("Introduzca el precio: ");do{scanf("%lf",&precio);if(precio<0) printf("Precio no valido");else total+=n*precio;}while(precio<0);}}while(n!=0); 

printf("Total vendido = %.2f", total);}

Crear un programa para calcular los salario semanal de unos empleados a los que se les paga 15 euros por hora si éstas no superan las 35 horas. Cada hora por encima de 35 se considerará extra y se paga a 22 €.El programa pide las horas del trabajador y devuelve el salario que se le debe pagar.Además el programa debe preguntar si deseamos calcular otro salario, si es así el programa se vuelve a repetir

#include <stdio.h>#include <conio.h>int main(){

char resp;const intJORNADA=35,PRECIO_NORMAL=12,PRECIO_EXTRA=22;int horas, salario; do{

printf("Horas trabajadas: ");scanf("%d",&horas);

Page 13: Ejercicios de Programación II.docx

if(horas<=35) salario=horas*PRECIO_NORMAL;elsesalario=JORNADA*PRECIO_NORMAL+(horas-JORNADA)*PRECIO_EXTRA;printf("Salario = %d euros\n\n", salario);

fflush(stdin); /* Para limpiar el buffer de teclado */ printf("¿Desea calcular otro salario (s/n)?\n");scanf("%c",&resp);

} while(resp!='S' && resp!='s');}

Escribir un programa en C que lea números enteros indefinidamente hasta que llegue el número 0

#include <stdio.h>int main(){int x;do{scanf("%i",&x);}while(x!=0);}

Crear el programa asteriscos4 en el que se introduce un número entero y se crea una pirámide de asteriscos. Por ejemplo si se introduce el 6, el resultado sería: * *** ***** ******* ********************

#include <stdio.h>int main(){

int n,fila,col;printf("tamaño de la piramide: ");scanf("%d",&n);

for(fila=1;fila<=n;fila++){/* Espacios en blanco*/for(col=1;col<=n-fila;col++){

printf(" ");}for(col=1;col<=2*fila-1;col++){

printf("*");}printf("\n");

}}

Modificar el ejercicio anterior para que aparezca un rombo.#include <stdio.h>int main(){

int n,fila,col;printf("tamaño de la piramide: ");scanf("%d",&n);

Page 14: Ejercicios de Programación II.docx

for(fila=1;fila<=n;fila++){/* Espacios en blanco*/for(col=1;col<=n-fila;col++){

printf(" ");}for(col=1;col<=2*fila-1;col++){

printf("*");}printf("\n");

} /* Escritura de la parte inferior */for(fila=n-1;fila>=1;fila--){+

/* Espacios en blanco*/for(col=1;col<=n-fila;col++){

printf(" ");}for(col=1;col<=2*fila-1;col++){

printf("*");}printf("\n");

}}

Crear un programa qu escriba dos columnas de números, en la primera se colocan los números del 1 al 100, en la segunda los números del 100 al 1

#include <stdio.h>int main(){int col1=1, col2=100;

while(col1<=100){printf("%d\t\%d\n",col1,col2);col1++;col2--;}}

Crear un programa en C que lea un número entero y positivo y que escriba tres columnas. La primera cuenta desde uno hasta el número escrito contando de uno en uno; la segunda columna cuenta de dos en dos y la tercera de tres.

#include <stdio.h>int main(){int col1=1, col2=1,col3=1;int n;printf("Escriba el número: ");scanf("%d",&n);

while(col1<=n){printf("%d",col1);if(col2<=n) {printf("\t%d",col2);if(col3<=n){

Page 15: Ejercicios de Programación II.docx

printf("\t%d",col3);col3+=3;}col2+=2;}printf("\n");col1++;}}

Crear el programa tablaMultiplicar que escriba la tabla de multiplicar del número 1 al número 15

#include <stdio.h>int main(){const int TAMANIO=15;int i,j;

for(i=1;i<=15;i++){for(j=1;j<=15;j++){printf("%4d",i*j);}printf("\n");}}

Crear un programa que muestre un menú como este:1) Salir2) Sumatorio3) FactorialTras mostrar el menú, el programa debe leer un número del 1 al tres si se elige 1, el programa acaba. Si se elige 2 se calcula el sumatorio del número, si se elige 3 se calcula el factorial (en ambos casos el programa pedirá escribir el número sobre el que se calcula el sumatorio o el factorial). Tras calcular el sumatorio o el factorial e indicar el resultado, el programa volverá a mostrar el menú y así sucesivamente.

#include <stdio.h>#include <conio.h>int main(){

int seleccion;int n,aux;double res;

do{/* Mostrar el menú*/do{

printf("1 Salir\n2 Sumatorio\n");printf("3 Factorial\n\nEscriba su opcion");scanf("%d",&seleccion);

}while(seleccion!=1 && seleccion!=2 && seleccion!=3);

if(seleccion==2){/* Sumatorio */printf("Escriba el numero sobre el que quiere el sumatorio");scanf("%d",&n);res=0;

Page 16: Ejercicios de Programación II.docx

for(aux=n;aux>=1;aux--) res+=aux;printf("El sumatorio es: %.0lf\n");printf("Pulse cualquier tecla para continuar\n\n\n",res);getch();

}else if(seleccion==3){ /* Factorial */

printf("Escriba el numero sobre el que quiere el factorial");scanf("%d",&n);res=1;for(aux=n;aux>=1;aux--) res*=aux;printf("El sumatorio es: %.0lf\n");printf("Pulse cualquier tecla para continuar\n\n\n",res);getch();

}}while(seleccion!=1);

}Crear un programa que lea un número e indique su valor en la sucesión de Fibonacci (llamarle Fibonacci).Esta sucesión calcula su valor de la siguiente manera. Sólo es válido para números positivos, si el número es un uno, la sucesión vale 1 si es dos, la sucesión vale 2. Para el resto la sucesión es la suma de la sucesión de los dos números anteriores.Es decir, para 7 el valor sería lo que valga la sucesión de 6 más la sucesión de cinco.

#include <stdio.h>int main(){

int f1=1,f2=1;/*Valores anteriores*/int n,cont;double res=1; /* Resultado final */ 

do{printf("Escriba el número: ");scanf("%d",&n);if(n<=0) printf("Numero no valido\n");

}while(n<=0);

for(cont=3;cont<=n;cont++){res=f1+f2;f1=f2;f2=res;

}

printf("Resultado: %.0f",res);}

Crear un programa que contenga una función llamada copiarArray ) que reciba dos arrays y el tamaño de los mismos (deben de ser del mismo tamaño) y que consiga copia en el segundo array el contenido del primero

#include <conio.h>#include <stdio.h> void copiarArray(int a[], int b[], int tamanio);void escribirArray(int a[], int tamanio); int main(){

Page 17: Ejercicios de Programación II.docx

/* Comprobación de la función*/int uno[]={2,4,5,6,7,8,9,11};int dos[8];printf("Array uno:\n");escribirArray(uno,8);copiarArray(uno,dos,8);printf("Array dos:\n");escribirArray(dos,8);getch();}  /* Escribe el contenido de un array de enteros por pantalla */void escribirArray(int a[], int tamanio){int i;for(i=0;i<tamanio;i++)printf("%d ",a[i]);printf("\n");} /* Copia el contenido del array b en el array a. Se suponeque ambos arrays son del mismo tamanio*/void copiarArray(int a[], int b[], int tamanio){int i;for(i=0;i<tamanio;i++){b[i]=a[i];}}

rear un programa llamado paresImpares que cree un array de 100 números aleatorios del 1 al 1000. Una vez creado, mostrar el contenido y después organizarlo de forma que estén juntos los elementos pares y los impares. Después, volver a mostrar el array

#include <conio.h>#include <stdio.h>#include <stdlib.h> #define TAM 100 void escribirArray(int a[], int tamanio); int main(){int a[TAM];int par[TAM]={0};int impar[TAM]={0};int i,j; srand(time(NULL));/*Relleno inicial del array a*/for(i=0;i<TAM;i++){a[i]=rand()%100+1;}/* Escritura del contenido del primer array*/

Page 18: Ejercicios de Programación II.docx

printf("Primer array:\n");escribirArray(a,TAM);/* Grabación de los pares y los impares en los otros arrays*/for(i=0;i<TAM;i++){if(a[i]%2==0)par[i]=a[i];elseimpar[i]=a[i];}/* Escritura del array par e impar*/printf("\nPar:\n");escribirArray(par,TAM);printf("\nImpar:\n");escribirArray(impar,TAM);/* Mezcla de ambos arrays en el array a y escritura del resultado final*/

j=0;/*j es el índice del array a. Sólo se mueve cuando se insertan en él números*//*recorrido del array par e impar e inserción de los númerospares que contenga (todos los que sean distintos de 0)se añade al array a desde la primera posición del mismo*/for(i=0;i<TAM;i++){if(par[i]!=0) {a[j]=par[i];j++;}}/*recorrido del array impar e inserción de los númerosimpares que contenga desde la posición en la que quedó j*/for(i=0;i<TAM;i++){if(impar[i]!=0) {a[j]=impar[i];j++;}}/*Resultado final*/printf("\resultado final:\n");escribirArray(a,TAM);} /* fin main */ /* Escribe el contenido de un array de enteros por pantalla */void escribirArray(int a[], int tamanio){int i;for(i=0;i<tamanio;i++){printf("%d ",a[i]);}printf("\n");}

Crear un programa llamado vendedores que cree un array de 18 X 10 indicando que poseemos una empresa de 18 vendedores cada uno de los cuales vende 10 productos.

Page 19: Ejercicios de Programación II.docx

El array almacena los ingresos obtenidos por cada vendedor en cada producto, de modo que un menú permite almacenar los ingresos, revisar el total de cada vendedor y obtener los ingresos totales

#include <conio.h>#include <stdio.h>#define N_VENDEDORES 18#define N_PRODUCTOS 10 /* Función que muestra el menú del programa y retornael número de menú elegido por el usuario */int mostrarMenu(); /* Función que calcula el total de todas las ventas*/double mostrarTotal(double v[][N_PRODUCTOS]); /* Función que calcula el total de ventas de un vendedor*/double totalVendedor(double v[][N_PRODUCTOS], int nVendedor); int main(){double ventas[N_VENDEDORES][N_PRODUCTOS]={0};int resp=mostrarMenu();int nvend, nprod;double cantidad;

while(resp!=4){switch(resp){case 1:printf("Numero de vendedor:");scanf("%d",&nvend);printf("Numero de producto: ");scanf("%d",&nprod);printf("Cantidad ventida: ");scanf("%lf",&cantidad);ventas[nvend][nprod]=cantidad;break;case 2:printf("Numero de vendedor: ");scanf("%d",&nvend);printf("Ventas total del vendedor %d=%.2lf\n",nvend,totalVendedor(ventas,nvend));break;case 3:printf("Total de ventas=%.2lf\n",mostrarTotal(ventas));break;}resp=mostrarMenu();}getch();}int mostrarMenu(){int resp;printf("\n\n");printf("1) Añadir datos\n");printf("2) Mostrar total de vendedor\n");

Page 20: Ejercicios de Programación II.docx

printf("3) Mostrar total de ventas\n");printf("4) Salir\n");scanf("%d",&resp);return resp;} double mostrarTotal(double v[][N_PRODUCTOS]){double resp=0;int i,j;for(i=0;i<N_VENDEDORES;i++){for(j=0;j<N_PRODUCTOS;j++){resp+=v[i][j];}}return resp;} double totalVendedor(double v[][N_PRODUCTOS], intnVendedor){double resp=0;int i;for(i=0;i<N_PRODUCTOS;i++){resp+=v[nVendedor][i];}return resp;}

Crear un programa que mediante un menú admita reservar o cancelar asientos de un avión, así como mostrar qué asientos están ocupados y libreas actualmente.El array tendrá 25 filas y 4 columnas

#include <conio.h>#include <stdio.h> #define N_FILAS 25#define N_COLUMNAS 4#define LIBRE 0#define OCUPADO 1 /* Función que muestra el menú del programa y retornael número de menú elegido por el usuario */int mostrarMenu(); void reservarAsiento(int a[][N_COLUMNAS]); void cancelarAsiento(int a[][N_COLUMNAS]);void mostrarOcupacion(int a[][N_COLUMNAS]); int main(){

/* Los asientos inicialmente están libres*/int asiento[N_FILAS][N_COLUMNAS]={0};int resp=mostrarMenu();

while(resp!=4){switch(resp){

Page 21: Ejercicios de Programación II.docx

case 1:reservarAsiento(asiento);break;

case 2:cancelarAsiento(asiento);break;

case 3:mostrarOcupacion(asiento);break;

}resp=mostrarMenu();

} getch();

int mostrarMenu(){int resp;printf("\n\n");printf("1) Reservar Asiento\n");printf("2) Cancelar Asiento\n");printf("3) Mostrar Ocupacion\n");printf("4) Salir\n");scanf("%d",&resp);return resp;

} void reservarAsiento(int a[][N_COLUMNAS]){

int fila, col; printf("Escriba la fila del asiento a reservar: ");scanf("%d",&fila);printf("Escriba la columna del asiento a reservar: ");scanf("%d",&col);

if(a[fila][col]==OCUPADO) printf("Ese asiento ya está reservado\n");else {

a[fila][col]=OCUPADO;printf("Reserva realizada\n");

}} void cancelarAsiento(int a[][N_COLUMNAS]){

int fila, col; printf("Escriba la fila del asiento a cancelar: ");scanf("%d",&fila);printf("Escriba la columna del asiento a cancelar: ");scanf("%d",&col);

if(a[fila][col]==LIBRE) printf("Ese asiento no está ocupado\n");else {

a[fila][col]=LIBRE;printf("Cancelación realizada\n");

}} 

Page 22: Ejercicios de Programación II.docx

void mostrarOcupacion(int a[][N_COLUMNAS]){int i,j;

for(i=0;i<N_FILAS;i++){for(j=0;j<N_COLUMNAS;j++){

printf("fila %d, columna %d",i,j);if(a[i][j]==LIBRE)printf("Libre\n");else printf("Ocupado\n");

}}

}Crear un programa que cree un array con 1000 letras mayúsculas aleatorias y que cuenta cuántas veces aparece cada letra en el array

#include <conio.h>#include <stdio.h>#include <stdlib.h> #define TAM 1000 void escribirArray(char a[], int tamanio); int main(){char letra[TAM];/* Array que contendrá las letras de la A a la Z*/char AaZ[26];/* contadores*/int i,j,cont; srand(time(NULL));/* Relleno del array de letras */for(i=65;i<=90;i++){AaZ[i-65]=i;} /*Relleno inicial del array aleatorio*/for(i=0;i<TAM;i++){/*genera caracteres del ASCII 65 al 90, de la letra A a Z */letra[i]=rand()%26+65;} 

/* Escritura del contenido del primer array*/printf("Array inicial:\n");escribirArray(letra,TAM);/* El bucle recorre el array que contiene las letras de la Aa la Z y cuenta cada vez que aparece cada letra en el array de letrasaleatorias*/for(i=0;i<26;i++){cont=0;for(j=0;j<TAM;j++){if(AaZ[i]==letra[j]) cont++;}printf("La letra %c aparece %i veces\n",65+i,cont);

Page 23: Ejercicios de Programación II.docx

getch();} /* Escribe el contenido de un array de enteros por pantalla */void escribirArray(char a[], int tamanio){int i;for(i=0;i<tamanio;i++){printf("%c ",a[i]);}printf("\n");}