SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Ejercicios Informáticá II
Prácticá 1
Ejercicio 1:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 5
int main()
{
char nombre[N][20];
int tabla [N][8];
int i=0,j=0;
char l;
int aux;
//pide datos:
for(i=0; i<N; i++)
{
printf("Ingrese el nombre del equipo: n");
do
{
l=getche();
if(l!='r')
{
nombre[i][j]=l;
j++;
}
}
while((l!='r')&&(j<19));
nombre[i][j]='0';
j=0;
printf("nIngrese los partidos ganados: n");
scanf("%d", &aux);
tabla[i][2]=aux;
printf("Ingrese los partidos empatados: n");
scanf("%d", &aux);
tabla[i][3]=aux;
printf("Ingrese los partidos perdidos: n");
scanf("%d", &aux);
tabla[i][4]=aux;
printf("Ingrese los goles a favor: n");
scanf("%d", &aux);
tabla[i][5]=aux;
printf("Ingrese los goles en contra: n");
scanf("%d", &aux);
tabla[i][6]=aux;
printf("-------------------n");
tabla[i][0]=3*tabla[i][2]+tabla[i][3];
tabla[i][1]=tabla[i][2]+tabla[i][3]+tabla[i][4];
tabla[i][7]=tabla[i][5]-tabla[i][6];
}
//pasa a ordenar:
for(i=0; i<N; i++)
{
for(j=i+1;j<N;j++)
{
if(tabla[i][1]<=tabla[j][1])
{
if(tabla[i][1]<tabla[j][1])
cambio(i,j,tabla,nombre);
else
{
if(tabla[i][7]<=tabla[j][7])
{
if(tabla[i][7]<tabla[j][7])
cambio(i,j,tabla,nombre);
else
{
if(tabla[i][5]<tabla[j][5])
cambio(i,j,tabla,nombre);
}
}
}
}
}
}
//pasa a imprimir
for(i=0;i<N;i++)
{
j=0;
while ((nombre [i][j]!='0')&&(j<20))
{
printf("%c", nombre[i][j]);
j++;
}
for(j=0;j<8;j++)
printf("-%d-", tabla[i][j]);
printf("n");
}
return 0;
}
void cambio (int a,int b, int tabla[N][8], char nombre[N][20])
{
char nom[20];
int aux;
int i=0;
while (nombre [a][i]!='0')
{
nom[i]=nombre[a][i];
i++;
}
nom[i]='0';
i=0;
while (nombre[b][i]!='0')
{
nombre[a][i]=nombre[b][i];
i++;
}
nombre[a][i]='0';
i=0;
while (nom[i]!='0')
{
nombre[b][i]=nom[i];
i++;
}
nombre[b][i]='0';
for(i=0;i<8;i++)
{
aux=tabla[a][i];
tabla[a][i]=tabla[b][i];
tabla[b][i]=aux;
}
}
Ejercicio 2:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
double promedio_general(double [][12]);
void medias_mensuales(double [][12], double[]);
double maxima_absoluta(double[][12]);
double promedio_general_mod(double [][12], int []);
void medias_mensuales_mod(double [][12], double [], int []);
double maxima_absoluta_mod(double [][12], int[]);
int main()
{
int i,j;
double temp[31][12];
double mes[12];
int limites[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
srand(time(NULL));
for(i=0; i<31; i++)
{
for(j=0; j<12; j++)
temp[i][j]=rand()%50;
}
//muestra resultado del inciso a)
printf("Promedio: %.2lfn", promedio_general(temp));
printf("n----------n");
//muestra resultado del inciso b)
medias_mensuales(temp,mes);
for(i=0; i<12; i++)
{
printf("Promedio mes %d: %.2lfn", (i+1), mes[i]);
}
printf("n----------n");
//muestra resultados del inciso c)
printf("Temperatura maxima: %.2lf", maxima_absoluta(temp));
printf("n----------n");
printf("Resultados corregidos con arreglo limites: ");
printf("n----------n");
//muestra resultados del inciso d.a)
printf("Promedio: %.2lfn", promedio_general_mod(temp, limites));
printf("n----------n");
//muestra resultados del inciso d.b)
medias_mensuales_mod(temp,mes,limites);
for(i=0; i<12; i++)
{
printf("Promedio mes %d: %.2lfn", (i+1), mes[i]);
}
printf("n----------n");
//muestra resultados del inciso d.c)
printf("Temperatura maxima: %.2lf", maxima_absoluta_mod(temp,limites));
printf("n----------n");
return 0;
}
double promedio_general(double temp[][12])
{
double sum=0;
int i,j;
for(i=0; i<31; i++)
{
for(j=0; j<12; j++)
sum+=temp[i][j];
}
return (sum/(31*12));
}
void medias_mensuales(double temp[][12], double mes[])
{
double sum=0;
int i,j;
for(j=0; j<12; j++)
{
sum=0;
for(i=0; i<31; i++)
sum+=temp[i][j];
mes[j]=(sum /31);
}
}
double maxima_absoluta(double temp[][12])
{
double max=0;//el rand no me da temperaturas negativas. si quisiera agregar lo de temperaturas
negativas es cuestion de inicializar max en -999999 y listo.
int i,j;
for(i=0; i<31; i++)
{
for(j=0; j<12; j++)
{
if(max<temp[i][j])
max=temp[i][j];
}
}
return max;
}
double promedio_general_mod(double temp[][12], int limites[])
{
double sum=0;
int i,j;
for(j=0; j<12; j++)
{
for(i=0; i<limites[j]; i++)
sum+=temp[i][j];
}
return (sum/(365));
}
void medias_mensuales_mod(double temp[][12], double mes[], int limites[])
{
double sum=0;
int i,j;
for(j=0; j<12; j++)
{
sum=0;
for(i=0; i<limites[j]; i++)
sum+=temp[i][j];
mes[j]=(sum /limites[j]);
}
}
double maxima_absoluta_mod(double temp[][12], int limites[])
{
double max=0;
int i,j;
for(j=0; j<12; j++)
{
for(i=0; i<limites[j]; i++)
{
if(max<temp[i][j])
max=temp[i][j];
}
}
return max;
}
Ejercicio 3
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define N 4
ordenar_nombres_a(char[][25]);
ordenar_nombres_b(char[][25]);
ordenar_nombres_c(char[][25]);
int main()
{
int i,j;
char nombre[N][25]= {"Juan","Marina","Martin","Abril"};
//ordenar_nombres_a(nombre);
//ordenar_nombres_b(nombre);
//ordenar_nombres_c(nombre);
for(i=0; i<N; i++)
printf("n%s", nombre[i]);
}
ordenar_nombres_a(char nombre[][25])
{
int i, j;
char aux[25];
for(i=0; i<N; i++)
{
for(j=i+1; j<N; j++)
{
if(nombre[j][0]<nombre[i][0])
{
strcpy(aux,nombre[i]);
strcpy (nombre[i],nombre[j]);
strcpy (nombre [j], aux);
}
}
}
}
ordenar_nombres_b (char nombre[][25])
{
int i, j,k=0;
char aux[25];
for(i=0; i<N; i++)
{
for(j=i+1; j<N; j++)
{
while(nombre[j][k]==nombre[i][k])
k++;
if(nombre[j][k]<nombre[i][k])
{
strcpy(aux,nombre[i]);
strcpy (nombre[i],nombre[j]);
strcpy (nombre [j], aux);
}
k=0;
}
}
}
ordenar_nombres_c (char nombre[][25])
{
int i, j,k=0, l;
char aux[25];
char aux1[25], aux2[25];
for(i=0; i<N; i++)
{
for(j=i+1; j<N; j++)
{
for(l=0;l<25;l++)
{
if(('A'<=nombre[j][l])&&(nombre[j][l]<='Z'))
aux1[l]=nombre[j][l]+32;
else
aux1[l]=nombre[j][l];
if(('A'<=nombre[i][l])&&(nombre[i][l]<='Z'))
aux2[l]=nombre[i][l]+32;
else
aux2[l]=nombre[i][l];
}
while(aux1[k]==aux2[k])
k++;
if(aux1[k]<aux2[k])
{
strcpy(aux,nombre[i]);
strcpy (nombre[i],nombre[j]);
strcpy (nombre [j], aux);
}
k=0;
}
}
}
Ejercicio 4
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 5
int modulo (int);
int main()
{
int b,n,i,j;
char rmb[N][N];
for(i=0;i<N;i++)
{
b=modulo(i-2);
n=N-2*b;
for(j=0;j<N;j++)
{
if(b>0)
{
rmb[i][j]=' ';
b--;
}
else
{
if(n>0)
{
rmb[i][j]='*';
n--;
}
else
rmb[i][j]=' ';
}
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%c", rmb[i][j]);
printf("n");
}
return 0;
}
int modulo (int a)
{
return sqrt(a*a);
}
Ejercicio 5
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 3
void mostrar( int [N][N]);
void transponer (int [N][N]);
int main()
{
int mt[N][N];
int i,j;
srand(time(NULL));
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
mt[i][j]=rand()%10;
}
}
printf("Matriz Original: n");
mostrar(mt);
printf("n----------n");
printf("Matriz Transpuesta: n");
transponer(mt);
mostrar(mt);
return 0;
}
void mostrar (int mt[N][N])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("-%d-", mt[i][j]);
printf("n");
}
}
void transponer(int mt[N][N])
{
int i,j;
int aux[N][N];
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
aux[i][j]=mt[j][i];
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
mt[i][j]=aux[i][j];
}
}
}
Ejercicio 6
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 2
#define C 2
#define A 2
#define P 2
double prom_mat(int , int [M][C][A][P]);
double prom_alm(int , int, int [M][C][A][P]);
double prom_com(int , int [M][C][A][P]);
double prom_par(int , int, int, int [M][C][A][P]);
int main()
{
int mt[M][C][A][P];
int a=0,b=0,c=0,d=0;
int op;
int aux;
srand(time(NULL));
printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2) Para
Carga Aleatoria de Pruevan");
scanf("%d", &op);
switch (op)
{
case 0:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d: ",
(a+1),(b+1),(c+1),(d+1));
scanf("%d", &aux);
mt[a][b][c][d]=aux;
}
}
}
}
break;
case 1:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
}
while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1))
{
printf("Ingrese el codigo de la materia:");
scanf("%d",&a);
if(a!=-1)
{
printf("Ingrese el codigo de la comision:");
scanf("%d",&b);
if(b!=-1)
{
printf("Ingrese el codigo del alumno:");
scanf("%d",&c);
if(c!=-1)
{
printf("Ingrese el codigo del parcial:");
scanf("%d",&d);
if(d!=-1)
{
printf("Ingrese la nota:");
scanf("%d", &aux);
/*a--;
b--;
c--;
d--;
estos -- son necesarios si pensas que al ingresar datos el hombre cuando se
refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */
mt[a][b][c][d]=aux;
printf("n----------n");
}
}
}
}
}
break;
case 2:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
}
break;
default:
printf("!!!nOpcion Incorrectan");
break;
}
printf("n--------------------n");
op=0;
while (aux!=6)
{
printf("nnMenu:n");
printf("1- Ver promedio de una materia (solicitará el codigo de la materia)n");
printf("2- Ver promedio de un alumno (solicitará la comision y el nro. del alumno)n");
printf("3- Ver promedio de una comision (solicitara la comision)n");
printf("4- Ver promedio de un parcial (solicitará la materia, la comisión y el parcial)n");
printf("5- Volver a cargar los datos (se sobreescribirán los datos existentes)n");
printf("6- Salirn");
scanf("%d",&aux);
printf("n--------------------n");
switch (aux)
{
case 1:
printf("n Ingrese la materia:");
scanf("%d", &a);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_mat(a,mt));
printf("n--------------------n");
break;
case 2:
printf("n Ingrese la comision:");
scanf("%d", &a);
printf("n Ingrese el alumno:");
scanf("%d", &b);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_alm(a,b,mt));
printf("n--------------------n");
break;
case 3:
printf("n Ingrese la comision:");
scanf("%d", &a);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_com(a,mt));
printf("n--------------------n");
break;
case 4:
printf("n Ingrese la materia:");
scanf("%d", &a);
printf("n Ingrese la comision:");
scanf("%d", &b);
printf("n Ingrese el parcial:");
scanf("%d", &c);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_par(a,b,c,mt));
printf("n--------------------n");
break;
case 5:
//copy paste del codigo de arriba.
printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2)
Para Carga Aleatoria de Pruevan");
scanf("%d", &op);
switch (op)
{
case 0:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d:
", (a+1),(b+1),(c+1),(d+1));
scanf("%d", &aux);
mt[a][b][c][d]=aux;
}
}
}
}
break;
case 1:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
}
while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1))
{
printf("Ingrese el codigo de la materia:");
scanf("%d",&a);
if(a!=-1)
{
printf("Ingrese el codigo de la comision:");
scanf("%d",&b);
if(b!=-1)
{
printf("Ingrese el codigo del alumno:");
scanf("%d",&c);
if(c!=-1)
{
printf("Ingrese el codigo del parcial:");
scanf("%d",&d);
if(d!=-1)
{
printf("Ingrese la nota:");
scanf("%d", &aux);
/*a--;
b--;
c--;
d--;
estos -- son necesarios si pensas que al ingresar datos el hombre cuando se
refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */
mt[a][b][c][d]=aux;
printf("n----------n");
}
}
}
}
}
break;
case 2:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
}
break;
default:
printf("!!!nOpcion Incorrectan");
break;
}
break;
case 6:
break;
default:
printf("!!!nOpcion Incorrectan");
break;
}
}
return 0;
}
double prom_mat(int i, int mt[M][C][A][P])
{
int a,b,c;
double sum=0;
for(a=0; a<C; a++)
{
for(b=0; b<A; b++)
{
for(c=0; c<P; c++)
{
sum+=mt[i][a][b][c];
}
}
}
return ((double)sum/(C*A*P));
}
double prom_alm(int i, int j, int mt[M][C][A][P])
{
int a,c;
double sum=0;
for(a=0; a<M; a++)
{
for(c=0; c<P; c++)
{
sum+=mt[a][i][j][c];
}
}
return ((double)sum/(M*P));
}
double prom_com(int i, int mt[M][C][A][P])
{
int a,b,c;
double sum=0;
for(a=0; a<M; a++)
{
for(b=0; b<A; b++)
{
for(c=0; c<P; c++)
{
sum+=mt[a][i][b][c];
}
}
}
return ((double)sum/(M*A*P));
}
double prom_par(int i, int j, int k, int mt[M][C][A][P])
{
int a;
double sum=0;
for(a=0; a<A; a++)
{
sum+=mt[i][j][a][k];
}
return ((double)sum/(A));
}
Ejercicio 7
#include <stdio.h>
#include <stdlib.h>
int binario (char );
int main()
{
char num;
int bin=0;
printf("Ingrese el numero a pasar a binario: (el numero debe estar entre 0 y 255)n");
scanf("%d", &num);
bin=binario(num);
printf("El numero %d en binario es: %d", num, bin);
return 0;
}
int binario (char num)
{
short int aux;
int bin=0;
int n;
for(n=0;n<8;n++)
{
aux=0;
aux=num%2;
num/=2;
bin+=aux*pow(10,n);
}
return bin;
}
Ejercicio 8
#include <stdio.h>
#include <stdlib.h>
int binario (char );
int main()
{
char num;
int bin=0;
printf("Ingrese el numero a pasar a binario: (el numero debe estar entre 0 y 255)n");
scanf("%d", &num);
bin=binario(num);
printf("El numero %d en binario es: %d", num, bin);
return 0;
}
int binario (char num)
{
unsigned char mask=1;
int n, bin=0;
for(n=0;n<8;n++)
{
bin+=(num&mask)*pow(10,n);
num=num>>1;
}
return bin;
}
Ejercicio 9
#include <stdio.h>
#include <stdlib.h>
int shiftd (int);
int binario (char);
int main()
{
char num;
int bin=0;
printf("Ingrese el numero a pasar a binario: (el numero debe estar entre 0 y 255)n");
scanf("%d", &num);
bin=binario(num);
printf("El numero %d en binario es: %d", num, bin);
num=shiftd(num);
bin=binario(num);
printf("nluego del shift a la derecha su numero, en binario, es: %d", bin);
return 0;
}
int shiftd (int num)
{
int mask=1;
mask=mask<<(sizeof(int)*4);//*4 porque hay 4 bits por cada byte, y el sizeof me da en bytes.
mask=~mask;
num=num>>1;
return (num&mask);
}
int binario (char num)
{
short int aux;
int bin=0;
int n;
for(n=0;n<8;n++)
{
aux=0;
aux=num%2;
num/=2;
bin+=aux*pow(10,n);
}
return bin;
}
Ejercicio 10
#include <stdio.h>
#include <stdlib.h>
int cbits (unsigned int);
int binario (char);
int main()
{
unsigned int num;
int bin=0;
printf("Ingrese el numero a contar los '1s': n");
scanf("%d", &num);
bin=binario(num);
printf("El numero %d en binario es: %d", num, bin);
num=cbits(num);
printf("nHay %d '1s' en esa variable.", num);
return 0;
}
int cbits (unsigned int var)
{
unsigned int mask=1;
int i;
int cont=0;
for(i=0;i<(sizeof(unsigned int)*4); i++)
{
if(((var>>i)&mask)==1)
cont++;
}
return cont;
}
int binario (char num)
{
short int aux;
int bin=0;
int n;
for(n=0;n<8;n++)
{
aux=0;
aux=num%2;
num/=2;
bin+=aux*pow(10,n);
}
return bin;
}
Ejercicio 11
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
unsigned int mashup (unsigned char,unsigned char,unsigned char,unsigned char);
int binario (char );
int binario_int (int);
int main()
{
unsigned char v1=1,v2=4,v3=8,v4=16;
unsigned int vr;
vr=mashup(v1,v2,v3,v4);
printf("nv1=%d", binario(v1));
printf("nv2=%d", binario(v2));
printf("nv3=%d", binario(v3));
printf("nv4=%d", binario(v4));
printf("nvr=%d", vr); /*me va a tirar el numero decimal porque la variable int no alcanza para
almacenar este numero en binario, asique directamente mande el numero sin transformarlo.*/
return 0;
}
unsigned int mashup (unsigned char v1,unsigned char v2,unsigned char v3,unsigned char v4)
{
unsigned int vr=0,ve1,ve2,ve3,ve4;
ve1=v1;
ve1=ve1<<(sizeof(unsigned int)*3);//es *4*(3/4), directamente escribo *3
ve2=v2;
ve2=ve2<<(sizeof(unsigned int)*2);
ve3=v3;
ve3=ve3<<(sizeof(unsigned int));
ve4=v4;
vr=vr|ve1;
vr=vr|ve2;
vr=vr|ve3;
vr=vr|ve4;
return vr;
}
int binario (char num)
{
unsigned char mask=1;
int n, bin=0;
for(n=0;n<8;n++)
{
bin+=(num&mask)*(pow(10,n));
num=num>>1;
}
return bin;
}
Ejercicio 12
#include <stdio.h>
#include <stdlib.h>
char cletra (char);
int main()
{
char a='c';
printf("Letra original: %cn", a);
a=cletra(a);
printf("Letra luego de 'cletrar': %cn",a);
return 0;
}
char cletra (char a)
{
unsigned char mask=32;
return a^mask;
}

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Informe 2 da unidad lp
Informe 2 da unidad lpInforme 2 da unidad lp
Informe 2 da unidad lp
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizados
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Tra
TraTra
Tra
 
Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02
 
Sol.proble.practic lp
Sol.proble.practic lpSol.proble.practic lp
Sol.proble.practic lp
 
Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codemotion 2016 - d3.js un taller divertido y difícil
Codemotion 2016 - d3.js un taller divertido y difícilCodemotion 2016 - d3.js un taller divertido y difícil
Codemotion 2016 - d3.js un taller divertido y difícil
 
Practicas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaPracticas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzada
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Getchars
GetcharsGetchars
Getchars
 
Getchars
GetcharsGetchars
Getchars
 
Hechos en clase
Hechos en claseHechos en clase
Hechos en clase
 
Ejercicios resuletos de programacion
Ejercicios resuletos de programacionEjercicios resuletos de programacion
Ejercicios resuletos de programacion
 
80 vs now (2) (2)
80 vs now (2) (2)80 vs now (2) (2)
80 vs now (2) (2)
 
Ejercicios en java
Ejercicios en javaEjercicios en java
Ejercicios en java
 

Similar a Practica 1 informática ii

Similar a Practica 1 informática ii (20)

Eliminacion Gaussiana en C
Eliminacion Gaussiana en CEliminacion Gaussiana en C
Eliminacion Gaussiana en C
 
Include
IncludeInclude
Include
 
Teorico1
Teorico1Teorico1
Teorico1
 
Ejerciciosprogramacion
EjerciciosprogramacionEjerciciosprogramacion
Ejerciciosprogramacion
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
Programacion 55
Programacion 55Programacion 55
Programacion 55
 
Programacion
ProgramacionProgramacion
Programacion
 
Matrices c++
Matrices c++Matrices c++
Matrices c++
 
EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI
EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI
EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programa
ProgramaPrograma
Programa
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación
 
Franklincuñas
Franklincuñas  Franklincuñas
Franklincuñas
 
Arreglos
ArreglosArreglos
Arreglos
 
1 er informe
1 er informe1 er informe
1 er informe
 
Expo c i
Expo c iExpo c i
Expo c i
 
Gauss jordan en C
Gauss jordan en CGauss jordan en C
Gauss jordan en C
 
G++
G++G++
G++
 

Más de Alvin Jacobs

Carbohidratos 14 22_1589
Carbohidratos 14 22_1589Carbohidratos 14 22_1589
Carbohidratos 14 22_1589Alvin Jacobs
 
Ejercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica IIEjercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica IIAlvin Jacobs
 
Preguntas para final de Etica
Preguntas para final de EticaPreguntas para final de Etica
Preguntas para final de EticaAlvin Jacobs
 
Informática ii ejercicios resueltos - practica 3
Informática ii   ejercicios resueltos - practica 3Informática ii   ejercicios resueltos - practica 3
Informática ii ejercicios resueltos - practica 3Alvin Jacobs
 
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...Alvin Jacobs
 
Informática I: Ejercicios Resueltos
Informática I:  Ejercicios ResueltosInformática I:  Ejercicios Resueltos
Informática I: Ejercicios ResueltosAlvin Jacobs
 
Informática I: Ejercicios Resueltos
Informática I:   Ejercicios ResueltosInformática I:   Ejercicios Resueltos
Informática I: Ejercicios ResueltosAlvin Jacobs
 
Resumen introducción a la filosofía y antropología filosófica 2º parcia...
Resumen introducción a la filosofía y antropología filosófica   2º parcia...Resumen introducción a la filosofía y antropología filosófica   2º parcia...
Resumen introducción a la filosofía y antropología filosófica 2º parcia...Alvin Jacobs
 

Más de Alvin Jacobs (12)

Carbohidratos 14 22_1589
Carbohidratos 14 22_1589Carbohidratos 14 22_1589
Carbohidratos 14 22_1589
 
3er parcialito
3er parcialito3er parcialito
3er parcialito
 
Ejercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica IIEjercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica II
 
Preguntas para final de Etica
Preguntas para final de EticaPreguntas para final de Etica
Preguntas para final de Etica
 
Informática ii ejercicios resueltos - practica 3
Informática ii   ejercicios resueltos - practica 3Informática ii   ejercicios resueltos - practica 3
Informática ii ejercicios resueltos - practica 3
 
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...
 
Informática I: Ejercicios Resueltos
Informática I:  Ejercicios ResueltosInformática I:  Ejercicios Resueltos
Informática I: Ejercicios Resueltos
 
Informática I: Ejercicios Resueltos
Informática I:   Ejercicios ResueltosInformática I:   Ejercicios Resueltos
Informática I: Ejercicios Resueltos
 
Ingeco unidad 4
Ingeco unidad 4Ingeco unidad 4
Ingeco unidad 4
 
Ingeco unidad 2
Ingeco unidad 2Ingeco unidad 2
Ingeco unidad 2
 
Ingeco unidad 1
Ingeco unidad 1Ingeco unidad 1
Ingeco unidad 1
 
Resumen introducción a la filosofía y antropología filosófica 2º parcia...
Resumen introducción a la filosofía y antropología filosófica   2º parcia...Resumen introducción a la filosofía y antropología filosófica   2º parcia...
Resumen introducción a la filosofía y antropología filosófica 2º parcia...
 

Último

CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxfranklingerardoloma
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxcarlosEspaaGarcia
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptRobertoCastao8
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)samuelsan933
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasIANMIKELMIRANDAGONZA
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 

Último (20)

CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidencias
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 

Practica 1 informática ii

  • 1. Ejercicios Informáticá II Prácticá 1 Ejercicio 1: #include <stdio.h> #include <stdlib.h> #include <conio.h> #define N 5 int main() { char nombre[N][20]; int tabla [N][8]; int i=0,j=0; char l; int aux; //pide datos: for(i=0; i<N; i++) { printf("Ingrese el nombre del equipo: n"); do { l=getche(); if(l!='r') { nombre[i][j]=l; j++; } } while((l!='r')&&(j<19)); nombre[i][j]='0'; j=0; printf("nIngrese los partidos ganados: n"); scanf("%d", &aux); tabla[i][2]=aux; printf("Ingrese los partidos empatados: n"); scanf("%d", &aux); tabla[i][3]=aux; printf("Ingrese los partidos perdidos: n"); scanf("%d", &aux); tabla[i][4]=aux; printf("Ingrese los goles a favor: n"); scanf("%d", &aux); tabla[i][5]=aux; printf("Ingrese los goles en contra: n"); scanf("%d", &aux); tabla[i][6]=aux; printf("-------------------n");
  • 2. tabla[i][0]=3*tabla[i][2]+tabla[i][3]; tabla[i][1]=tabla[i][2]+tabla[i][3]+tabla[i][4]; tabla[i][7]=tabla[i][5]-tabla[i][6]; } //pasa a ordenar: for(i=0; i<N; i++) { for(j=i+1;j<N;j++) { if(tabla[i][1]<=tabla[j][1]) { if(tabla[i][1]<tabla[j][1]) cambio(i,j,tabla,nombre); else { if(tabla[i][7]<=tabla[j][7]) { if(tabla[i][7]<tabla[j][7]) cambio(i,j,tabla,nombre); else { if(tabla[i][5]<tabla[j][5]) cambio(i,j,tabla,nombre); } } } } } } //pasa a imprimir for(i=0;i<N;i++) { j=0; while ((nombre [i][j]!='0')&&(j<20)) { printf("%c", nombre[i][j]); j++; } for(j=0;j<8;j++) printf("-%d-", tabla[i][j]); printf("n"); } return 0; } void cambio (int a,int b, int tabla[N][8], char nombre[N][20]) { char nom[20]; int aux; int i=0;
  • 3. while (nombre [a][i]!='0') { nom[i]=nombre[a][i]; i++; } nom[i]='0'; i=0; while (nombre[b][i]!='0') { nombre[a][i]=nombre[b][i]; i++; } nombre[a][i]='0'; i=0; while (nom[i]!='0') { nombre[b][i]=nom[i]; i++; } nombre[b][i]='0'; for(i=0;i<8;i++) { aux=tabla[a][i]; tabla[a][i]=tabla[b][i]; tabla[b][i]=aux; } } Ejercicio 2: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> double promedio_general(double [][12]); void medias_mensuales(double [][12], double[]); double maxima_absoluta(double[][12]); double promedio_general_mod(double [][12], int []); void medias_mensuales_mod(double [][12], double [], int []); double maxima_absoluta_mod(double [][12], int[]); int main() { int i,j; double temp[31][12]; double mes[12];
  • 4. int limites[12]= {31,28,31,30,31,30,31,31,30,31,30,31}; srand(time(NULL)); for(i=0; i<31; i++) { for(j=0; j<12; j++) temp[i][j]=rand()%50; } //muestra resultado del inciso a) printf("Promedio: %.2lfn", promedio_general(temp)); printf("n----------n"); //muestra resultado del inciso b) medias_mensuales(temp,mes); for(i=0; i<12; i++) { printf("Promedio mes %d: %.2lfn", (i+1), mes[i]); } printf("n----------n"); //muestra resultados del inciso c) printf("Temperatura maxima: %.2lf", maxima_absoluta(temp)); printf("n----------n"); printf("Resultados corregidos con arreglo limites: "); printf("n----------n"); //muestra resultados del inciso d.a) printf("Promedio: %.2lfn", promedio_general_mod(temp, limites)); printf("n----------n"); //muestra resultados del inciso d.b) medias_mensuales_mod(temp,mes,limites); for(i=0; i<12; i++) { printf("Promedio mes %d: %.2lfn", (i+1), mes[i]); } printf("n----------n"); //muestra resultados del inciso d.c) printf("Temperatura maxima: %.2lf", maxima_absoluta_mod(temp,limites)); printf("n----------n"); return 0; } double promedio_general(double temp[][12]) { double sum=0; int i,j; for(i=0; i<31; i++) { for(j=0; j<12; j++) sum+=temp[i][j]; } return (sum/(31*12)); } void medias_mensuales(double temp[][12], double mes[])
  • 5. { double sum=0; int i,j; for(j=0; j<12; j++) { sum=0; for(i=0; i<31; i++) sum+=temp[i][j]; mes[j]=(sum /31); } } double maxima_absoluta(double temp[][12]) { double max=0;//el rand no me da temperaturas negativas. si quisiera agregar lo de temperaturas negativas es cuestion de inicializar max en -999999 y listo. int i,j; for(i=0; i<31; i++) { for(j=0; j<12; j++) { if(max<temp[i][j]) max=temp[i][j]; } } return max; } double promedio_general_mod(double temp[][12], int limites[]) { double sum=0; int i,j; for(j=0; j<12; j++) { for(i=0; i<limites[j]; i++) sum+=temp[i][j]; } return (sum/(365)); } void medias_mensuales_mod(double temp[][12], double mes[], int limites[]) { double sum=0; int i,j; for(j=0; j<12; j++) { sum=0; for(i=0; i<limites[j]; i++) sum+=temp[i][j]; mes[j]=(sum /limites[j]); } } double maxima_absoluta_mod(double temp[][12], int limites[]) {
  • 6. double max=0; int i,j; for(j=0; j<12; j++) { for(i=0; i<limites[j]; i++) { if(max<temp[i][j]) max=temp[i][j]; } } return max; } Ejercicio 3 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define N 4 ordenar_nombres_a(char[][25]); ordenar_nombres_b(char[][25]); ordenar_nombres_c(char[][25]); int main() { int i,j; char nombre[N][25]= {"Juan","Marina","Martin","Abril"}; //ordenar_nombres_a(nombre); //ordenar_nombres_b(nombre); //ordenar_nombres_c(nombre); for(i=0; i<N; i++) printf("n%s", nombre[i]); } ordenar_nombres_a(char nombre[][25]) { int i, j; char aux[25]; for(i=0; i<N; i++) { for(j=i+1; j<N; j++) { if(nombre[j][0]<nombre[i][0]) { strcpy(aux,nombre[i]); strcpy (nombre[i],nombre[j]); strcpy (nombre [j], aux); }
  • 7. } } } ordenar_nombres_b (char nombre[][25]) { int i, j,k=0; char aux[25]; for(i=0; i<N; i++) { for(j=i+1; j<N; j++) { while(nombre[j][k]==nombre[i][k]) k++; if(nombre[j][k]<nombre[i][k]) { strcpy(aux,nombre[i]); strcpy (nombre[i],nombre[j]); strcpy (nombre [j], aux); } k=0; } } } ordenar_nombres_c (char nombre[][25]) { int i, j,k=0, l; char aux[25]; char aux1[25], aux2[25]; for(i=0; i<N; i++) { for(j=i+1; j<N; j++) { for(l=0;l<25;l++) { if(('A'<=nombre[j][l])&&(nombre[j][l]<='Z')) aux1[l]=nombre[j][l]+32; else aux1[l]=nombre[j][l]; if(('A'<=nombre[i][l])&&(nombre[i][l]<='Z')) aux2[l]=nombre[i][l]+32; else aux2[l]=nombre[i][l]; } while(aux1[k]==aux2[k]) k++; if(aux1[k]<aux2[k]) { strcpy(aux,nombre[i]); strcpy (nombre[i],nombre[j]); strcpy (nombre [j], aux);
  • 8. } k=0; } } } Ejercicio 4 #include <stdio.h> #include <stdlib.h> #include <math.h> #define N 5 int modulo (int); int main() { int b,n,i,j; char rmb[N][N]; for(i=0;i<N;i++) { b=modulo(i-2); n=N-2*b; for(j=0;j<N;j++) { if(b>0) { rmb[i][j]=' '; b--; } else { if(n>0) { rmb[i][j]='*'; n--; } else rmb[i][j]=' '; } } } for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%c", rmb[i][j]); printf("n"); } return 0;
  • 9. } int modulo (int a) { return sqrt(a*a); } Ejercicio 5 #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 3 void mostrar( int [N][N]); void transponer (int [N][N]); int main() { int mt[N][N]; int i,j; srand(time(NULL)); for(i=0;i<N;i++) { for(j=0;j<N;j++) { mt[i][j]=rand()%10; } } printf("Matriz Original: n"); mostrar(mt); printf("n----------n"); printf("Matriz Transpuesta: n"); transponer(mt); mostrar(mt); return 0; } void mostrar (int mt[N][N]) { int i,j; for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("-%d-", mt[i][j]); printf("n"); } } void transponer(int mt[N][N]) {
  • 10. int i,j; int aux[N][N]; for(i=0;i<N;i++) { for(j=0;j<N;j++) { aux[i][j]=mt[j][i]; } } for(i=0;i<N;i++) { for(j=0;j<N;j++) { mt[i][j]=aux[i][j]; } } } Ejercicio 6 #include <stdio.h> #include <stdlib.h> #include <time.h> #define M 2 #define C 2 #define A 2 #define P 2 double prom_mat(int , int [M][C][A][P]); double prom_alm(int , int, int [M][C][A][P]); double prom_com(int , int [M][C][A][P]); double prom_par(int , int, int, int [M][C][A][P]); int main() { int mt[M][C][A][P]; int a=0,b=0,c=0,d=0; int op; int aux; srand(time(NULL)); printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2) Para Carga Aleatoria de Pruevan"); scanf("%d", &op); switch (op) { case 0: for(a=0; a<M; a++) {
  • 11. for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d: ", (a+1),(b+1),(c+1),(d+1)); scanf("%d", &aux); mt[a][b][c][d]=aux; } } } } break; case 1: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { mt[a][b][c][d]=rand()%10; } } } } while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1)) { printf("Ingrese el codigo de la materia:"); scanf("%d",&a); if(a!=-1) { printf("Ingrese el codigo de la comision:"); scanf("%d",&b); if(b!=-1) { printf("Ingrese el codigo del alumno:"); scanf("%d",&c); if(c!=-1) { printf("Ingrese el codigo del parcial:"); scanf("%d",&d); if(d!=-1) { printf("Ingrese la nota:"); scanf("%d", &aux); /*a--; b--; c--; d--;
  • 12. estos -- son necesarios si pensas que al ingresar datos el hombre cuando se refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */ mt[a][b][c][d]=aux; printf("n----------n"); } } } } } break; case 2: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { mt[a][b][c][d]=rand()%10; } } } } break; default: printf("!!!nOpcion Incorrectan"); break; } printf("n--------------------n"); op=0; while (aux!=6) { printf("nnMenu:n"); printf("1- Ver promedio de una materia (solicitará el codigo de la materia)n"); printf("2- Ver promedio de un alumno (solicitará la comision y el nro. del alumno)n"); printf("3- Ver promedio de una comision (solicitara la comision)n"); printf("4- Ver promedio de un parcial (solicitará la materia, la comisión y el parcial)n"); printf("5- Volver a cargar los datos (se sobreescribirán los datos existentes)n"); printf("6- Salirn"); scanf("%d",&aux); printf("n--------------------n"); switch (aux) { case 1: printf("n Ingrese la materia:"); scanf("%d", &a); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_mat(a,mt)); printf("n--------------------n"); break; case 2: printf("n Ingrese la comision:");
  • 13. scanf("%d", &a); printf("n Ingrese el alumno:"); scanf("%d", &b); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_alm(a,b,mt)); printf("n--------------------n"); break; case 3: printf("n Ingrese la comision:"); scanf("%d", &a); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_com(a,mt)); printf("n--------------------n"); break; case 4: printf("n Ingrese la materia:"); scanf("%d", &a); printf("n Ingrese la comision:"); scanf("%d", &b); printf("n Ingrese el parcial:"); scanf("%d", &c); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_par(a,b,c,mt)); printf("n--------------------n"); break; case 5: //copy paste del codigo de arriba. printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2) Para Carga Aleatoria de Pruevan"); scanf("%d", &op); switch (op) { case 0: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d: ", (a+1),(b+1),(c+1),(d+1)); scanf("%d", &aux); mt[a][b][c][d]=aux; } } } } break; case 1: for(a=0; a<M; a++) { for(b=0; b<C; b++) {
  • 14. for(c=0; c<A; c++) { for(d=0; d<P; d++) { mt[a][b][c][d]=rand()%10; } } } } while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1)) { printf("Ingrese el codigo de la materia:"); scanf("%d",&a); if(a!=-1) { printf("Ingrese el codigo de la comision:"); scanf("%d",&b); if(b!=-1) { printf("Ingrese el codigo del alumno:"); scanf("%d",&c); if(c!=-1) { printf("Ingrese el codigo del parcial:"); scanf("%d",&d); if(d!=-1) { printf("Ingrese la nota:"); scanf("%d", &aux); /*a--; b--; c--; d--; estos -- son necesarios si pensas que al ingresar datos el hombre cuando se refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */ mt[a][b][c][d]=aux; printf("n----------n"); } } } } } break; case 2: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) {
  • 15. mt[a][b][c][d]=rand()%10; } } } } break; default: printf("!!!nOpcion Incorrectan"); break; } break; case 6: break; default: printf("!!!nOpcion Incorrectan"); break; } } return 0; } double prom_mat(int i, int mt[M][C][A][P]) { int a,b,c; double sum=0; for(a=0; a<C; a++) { for(b=0; b<A; b++) { for(c=0; c<P; c++) { sum+=mt[i][a][b][c]; } } } return ((double)sum/(C*A*P)); } double prom_alm(int i, int j, int mt[M][C][A][P]) { int a,c; double sum=0; for(a=0; a<M; a++) { for(c=0; c<P; c++) { sum+=mt[a][i][j][c]; } } return ((double)sum/(M*P)); } double prom_com(int i, int mt[M][C][A][P]) { int a,b,c; double sum=0; for(a=0; a<M; a++)
  • 16. { for(b=0; b<A; b++) { for(c=0; c<P; c++) { sum+=mt[a][i][b][c]; } } } return ((double)sum/(M*A*P)); } double prom_par(int i, int j, int k, int mt[M][C][A][P]) { int a; double sum=0; for(a=0; a<A; a++) { sum+=mt[i][j][a][k]; } return ((double)sum/(A)); } Ejercicio 7 #include <stdio.h> #include <stdlib.h> int binario (char ); int main() { char num; int bin=0; printf("Ingrese el numero a pasar a binario: (el numero debe estar entre 0 y 255)n"); scanf("%d", &num); bin=binario(num); printf("El numero %d en binario es: %d", num, bin); return 0; } int binario (char num) { short int aux; int bin=0; int n; for(n=0;n<8;n++) { aux=0; aux=num%2; num/=2; bin+=aux*pow(10,n); }
  • 17. return bin; } Ejercicio 8 #include <stdio.h> #include <stdlib.h> int binario (char ); int main() { char num; int bin=0; printf("Ingrese el numero a pasar a binario: (el numero debe estar entre 0 y 255)n"); scanf("%d", &num); bin=binario(num); printf("El numero %d en binario es: %d", num, bin); return 0; } int binario (char num) { unsigned char mask=1; int n, bin=0; for(n=0;n<8;n++) { bin+=(num&mask)*pow(10,n); num=num>>1; } return bin; } Ejercicio 9 #include <stdio.h> #include <stdlib.h> int shiftd (int); int binario (char); int main() { char num; int bin=0; printf("Ingrese el numero a pasar a binario: (el numero debe estar entre 0 y 255)n"); scanf("%d", &num);
  • 18. bin=binario(num); printf("El numero %d en binario es: %d", num, bin); num=shiftd(num); bin=binario(num); printf("nluego del shift a la derecha su numero, en binario, es: %d", bin); return 0; } int shiftd (int num) { int mask=1; mask=mask<<(sizeof(int)*4);//*4 porque hay 4 bits por cada byte, y el sizeof me da en bytes. mask=~mask; num=num>>1; return (num&mask); } int binario (char num) { short int aux; int bin=0; int n; for(n=0;n<8;n++) { aux=0; aux=num%2; num/=2; bin+=aux*pow(10,n); } return bin; } Ejercicio 10 #include <stdio.h> #include <stdlib.h> int cbits (unsigned int); int binario (char); int main() { unsigned int num; int bin=0; printf("Ingrese el numero a contar los '1s': n"); scanf("%d", &num); bin=binario(num); printf("El numero %d en binario es: %d", num, bin); num=cbits(num); printf("nHay %d '1s' en esa variable.", num); return 0; }
  • 19. int cbits (unsigned int var) { unsigned int mask=1; int i; int cont=0; for(i=0;i<(sizeof(unsigned int)*4); i++) { if(((var>>i)&mask)==1) cont++; } return cont; } int binario (char num) { short int aux; int bin=0; int n; for(n=0;n<8;n++) { aux=0; aux=num%2; num/=2; bin+=aux*pow(10,n); } return bin; } Ejercicio 11 #include <stdio.h> #include <stdlib.h> #include <math.h> unsigned int mashup (unsigned char,unsigned char,unsigned char,unsigned char); int binario (char ); int binario_int (int); int main() { unsigned char v1=1,v2=4,v3=8,v4=16; unsigned int vr; vr=mashup(v1,v2,v3,v4); printf("nv1=%d", binario(v1)); printf("nv2=%d", binario(v2)); printf("nv3=%d", binario(v3)); printf("nv4=%d", binario(v4)); printf("nvr=%d", vr); /*me va a tirar el numero decimal porque la variable int no alcanza para almacenar este numero en binario, asique directamente mande el numero sin transformarlo.*/ return 0;
  • 20. } unsigned int mashup (unsigned char v1,unsigned char v2,unsigned char v3,unsigned char v4) { unsigned int vr=0,ve1,ve2,ve3,ve4; ve1=v1; ve1=ve1<<(sizeof(unsigned int)*3);//es *4*(3/4), directamente escribo *3 ve2=v2; ve2=ve2<<(sizeof(unsigned int)*2); ve3=v3; ve3=ve3<<(sizeof(unsigned int)); ve4=v4; vr=vr|ve1; vr=vr|ve2; vr=vr|ve3; vr=vr|ve4; return vr; } int binario (char num) { unsigned char mask=1; int n, bin=0; for(n=0;n<8;n++) { bin+=(num&mask)*(pow(10,n)); num=num>>1; } return bin; } Ejercicio 12 #include <stdio.h> #include <stdlib.h> char cletra (char); int main() { char a='c'; printf("Letra original: %cn", a); a=cletra(a); printf("Letra luego de 'cletrar': %cn",a); return 0; } char cletra (char a) { unsigned char mask=32; return a^mask; }