Upload
legnasilvana
View
182
Download
2
Embed Size (px)
DESCRIPTION
tarea de programación
Citation preview
Fundamentos de Programación
Ing. Fausto Meneses
Primer Nivel
NRC 1747
Sigcha Mario
Valarezo Jessica
Ojeda Martin
Salas Alejandro
2014-07-07
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];
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];
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++){
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);
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
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
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];
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];
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();
}
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
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));
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;
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;
}
Prueba de Escritorio
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);}
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;
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