21
Fundamentos de Programación Ing. Fausto Meneses Primer Nivel NRC 1747 Sigcha Mario Valarezo Jessica Ojeda Martin

Deber de programación

Embed Size (px)

DESCRIPTION

tarea de programación

Citation preview

Page 1: Deber de programación

Fundamentos de Programación

Ing. Fausto Meneses

Primer Nivel

NRC 1747

Sigcha Mario

Valarezo Jessica

Ojeda Martin

Salas Alejandro

2014-07-07

Page 2: Deber de programación

7.- Codigo#include<stdio.h>#include<conio.h>#include<math.h>#include<stdlib.h>float desv(float ,float );float media(float *,int );void leer(float *,int);void main(){

float num[20];int n;

clrscr();

do{

printf("Ingrese el n£mero de t‚rminos entre <1 y 20>: ");scanf("%d",&n);

}while(!(n>0&&n<=20));for(int i=0;i<n;i++)

leer(num+i,i);printf("La media es : %.2f\n",media(num,n));for(int i=0;i<n;i++)

printf("%d) La desviaci¢n respecto a la media es: %.2f\n",i+1,desv(num[i],media(num,n)));

getch();}

void leer(float *n,int i){

printf("%d) NUMERO = ",i+1);scanf("%f",n);

}

float media(float *num,int tl){

int i;float acu=0;

for(i=0;i<tl;i++)acu+=num[i];

Page 3: Deber de programación

return acu/tl;

}

float desv(float num,float med){ return num-med;}Resultado

Prueba de Escritorio

8.-

Código

/*

Una pequeña aerolinea necesita un programa que asigne asientos en cada vezlo del unico avion de la aerolinea.*/

# include <stdio.h># include <conio.h>int x[120][6],y[5][6];

Page 4: Deber de programación

void llenarfila(int x[120][6],int f,int cont){

int prod;clrscr();printf ("ASIENTOS FUMADORES %d \n\n dia: %d \n\n",f-(cont-1)*4,cont);

printf ("ASIENTOS NO FUMADORES");do{

printf ("Asientos?:");scanf ("%d",&prod);

}while (!(prod>=1 && prod <=5 && x[f-1][prod]==0));do{

printf ("Asientos disponibles %d: ",prod);scanf ("%d",&x[f-1][prod]);

}while (!(x[f-1][prod] >0 && x[f-1][prod]<100));

}int suma (int i, int j){

int cont=0,ac=0;do{

ac+=x[i+cont*4][j];cont++;if (cont==30)

break;}while (1);return ac;

}void resumen(){

int i,j,sumfilas, sumcolum;

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

sumfilas=0;for (j=0;j<5;j++){

Page 5: Deber de programación

y[i][j]=suma(i,j+1);sumfilas+=y[i][j];

}y[i][5]=sumfilas;

}for (i=0;i<5;i++){

sumcolum=0;for (int j=0;j<4;j++)

sumcolum+=y[j][i];y[4][i]+=sumcolum;

}}void imprimir(int y[5][6]){

clrscr();textcolor(14);cprintf (" A S I E N T O S\n\r");cprintf (" 1 2 3 4 5 TOT");cprintf ("\n\rV \n\rE\n\rN 1\n\rD 2\n\rE 3\n\rD 4 \n\rO T\n\rR");gotoxy(4,2);

int i,j;for (i=0;i<5;i++){

gotoxy(6,i+5);for (j=0;j<6;j++)

printf ("%5d",y[i][j]);printf("\n");

}}

void main(){

textcolor(7);clrscr();int f=1,cont=0;char a;do{

llenarfila(x,4*cont+f,cont+1);

Page 6: Deber de programación

printf ("el vuelo sale en 3 horas [s-n]: ",f);a=getche();if (a=='n' || a=='N')

f++;else

continue;if (f==5){

cont++;printf ("\nDesea continuar [S-N]: ");a=getche();if (a=='n' || a=='N')

break;else

f=1;}

}while(1);resumen();imprimir(y);getch();

}

Resultado

Prueba de Escritorio

Page 7: Deber de programación

10.-

#include "stdio.h"#include "conio.h"#define TM 50

void main(){

static int a[TM];int n,p,i,j;clrscr();printf("\t\t ORDENA NUMEROS\n\n");printf("\t Entre # de elementos : ");scanf("%d",&n);for (i=0;i<n;i++) {

printf("\t [%2d] : ",i+1);scanf("%d",&a[i]);

}printf("\n\t Los n£meros ordenados son.\n\n");for (i=0;i<n-1;i++)

for (j=i+1;j<n;j++)if (a[i] > a[j]) {

p = a[i];a[i] = a[j];a[j] = p;

}for (i=0;i<n;i++)

printf("\t [%2d] %10d\n",i+1,a[i]);getch();

}Codigo

Page 8: Deber de programación

11.-

Codigo

#include<stdio.h>#include<conio.h>#include<math.h>#include<stdlib.h>

void ordenar(int *,int );

void main()

{int n;int num[20];

Page 9: Deber de programación

clrscr(); puts ("(A) Orden Descendente "); puts ("(B) Orden Ascendente");

do{

printf("Ingrese el tama¤o del arreglo: ");scanf("%d",&n);

}while(!(n>0&&n<=20));

for(int i=0;i<n;i++){

printf("%d ) Elemento: ",i+1);scanf("%d",num+i);

}ordenar(num,n);

int i;

for(i=0;i<n;i++)printf("\n %d ) Elemento = %d",i+1,num[i]);

getch();

}

void ordenar(int *e,int tl ){

int aux,i,j,k;

aux=e[0];

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

aux=e[i];k=i;

for(j=i;j<tl;j++)if(e[j]>aux){ aux=e[j];

Page 10: Deber de programación

k=j;}

e[k]=e[i];e[i]=aux;

} } void main()

{int n;int num[20];

clrscr(); puts ("(A) Orden Descendente "); puts ("(B) Orden Ascendente");

do{

printf("Ingrese el tama¤o del arreglo: ");scanf("%d",&n);

}while(!(n>0&&n<=20));

for(int i=0;i<n;i++){

printf("%d ) Elemento: ",i+1);scanf("%d",num+i);

}ordenar(num,n);

int i;

for(i=0;i<n;i++)printf("\n %d ) Elemento = %d",i+1,num[i]);

getch();

}

Page 11: Deber de programación

void ordenar(int *e,int tl ){

int aux,i,j,k;

aux=e[0];

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

aux=e[i];k=i;

for(j=i;j<tl;j++)if(e[j]>aux){ aux=e[j];

k=j;}

e[k]=e[i];e[i]=aux;

} }

Resultado

Prueba de Escritorio

Page 12: Deber de programación

14.-Codigo

#include<stdio.h>#include<conio.h>#include<math.h>#include<stdlib.h>#include<ctype.h>

const tf=20;void frecuencia(int *,int *,int *,int ,int *);void leer(int *,int);void imprimir(int *,int);void ordenar(int *,int);

void main(){

int n[tf],tl,ta;int fre[tf];int ter[tf];

clrscr();

do{

printf("Ingrese el n£mero de elementos: ");scanf("%d",&tl);

}while(!(tl>0&&tl<=tf));

Page 13: Deber de programación

printf("Ingrese los elementos del arreglo:\n");leer(n,tl);ordenar(n,tl);

frecuencia(n,fre,ter,tl,&ta);

printf("\n\nELEMENTO FRECUENCIA\n");printf("________________________\n");for(int i=0;i<ta;i++){ if(fre[i])

printf("%6d %10d\n",ter[i],fre[i]);}getch();

}

void leer(int *arr,int tl){

int i;

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

printf("%d) Elemento: ",i+1);scanf("%d",arr+i);

}

}

void imprimir(int *arr,int tl){ int i;

for(i=0;i<tl;i++)printf("%d) Elemento: %d\n",i+1,arr[i]);

}

void ordenar(int *e,int tl ){

int aux,i,j;

Page 14: Deber de programación

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

for(j=i+1;j<tl;j++)if(e[i]>e[j]){

aux=e[i];e[i]=e[j];e[j]=aux;

}

}}

void frecuencia(int *n,int *f,int *t,int tl,int *ta){

int cont;int i=0,j,k;

for(j=n[0],k=0;j<=n[tl-1];j++,k++){

cont=0;for(i;n[i]==j;i++)

cont++;t[k]=j;f[k]=cont;

} *ta=k;

}

Page 15: Deber de programación

Prueba de Escritorio

Page 16: Deber de programación

16.- Elaborar una función que reciba dos arrays a y b que contiene una frase terminada en carácter ‘.’. La función debe devolver el número de veces que se repite la palabra almacenada en el array b dentro del array a. considerar que la palabra puede estar al inicio al final o separada con uno o varios espacios en blanco.#include "stdio.h"#include "conio.h"#include "string.h"#define TM 80voidcompara(char a[], char b[]){char *p;int n=0;p = strtok(a," ");if (!strcmpi(p,b)) n++;while (( p = strtok(NULL," ")))if (!strcmpi(p,b)) n++;printf("La palabra (%s) se repite %d veces.\n",b,n);}void main(){static char a[TM],b[TM],ch,*h;inti,j;clrscr();printf("Ingresefrase 1 : ");printf("Ingresefrase 2: ");while ((ch=getche()) != '.') {*h = ch;strcat(a,h);}

Page 17: Deber de programación

17.- La media de una secuencia de números de punto flotante, xi, donde i = 1, 2,…, m se define como: X = (x1 + x2 +… + xm)/m La desviación respecto a la media es:d1 = (xi – x), i = 1, 2,…, mY la desviación estándar es:

S = √ d12+d 22+…+dm2

mRealizar un programa que lea k secuencias diferentes de números de punto flotante, para calcular en cada secuencia la media, la desviación estándar, el máximo y el mínimo algebraico. Además calcular la media global, la desviación estándar global, el máximo y el mínimo global indicando la secuencia a la que pertenece.#include <conio.h>#include <stdio.h>main(){floatnum,i,suma=0,cantidad vector;clrscr();printf("De cuantos numeros quiere calcular el promedio: ");scanf("%f",&num);for(i=1;i<=num;i++){printf("Numero: ");scanf("%d",&cantidad);suma=suma+cantidad;}suma=suma/num;printf("Su promedio es: %d",suma);}i=0; while(i<n){suma=suma+vector[i]; i++;}promedio=suma/n;

Page 18: Deber de programación

  i=0;while(i<n){sigma=sigma+((vector[i]-promedio)*(vector[i]-promedio));i++;}desv_standar=sqrt(sigma/(n-1));printf("La desviacionestandar es: %.2f",desv_standar);break;}}Resultado

Prueba de Escritorio