You are on page 1of 14

PROBLEMAS DE ARREGLOS UNIDIMENSIONALES

PLATAFORMA (PAG 90)


1. Introducir los meses del ao en un vector y ordenar alfabticamente.
#include "stdafx.h"
#include"conio.h"
#include"stdio.h"
#include"math.h"
#include"string.h"

void main(void)
{
char meses[12][15];
int i,k;
char aux[15];
for(i=1;i<=12;i++)
{
printf("Introduza el mes [%d",i);
printf("]: ");
scanf("%s", meses[i]);
}
for(k=1;k<=11;k++)
{
for(i=1;i<=11;i++)
{
if(strcmp(meses[i], meses[i+1])>0)
{
strcpy(aux,meses[i]);
strcpy(meses[i], meses[i+1]);
strcpy(meses[i+1], aux);
}
}
}
printf("Los meses son \n");
for(i=1;i<=12;i++)
{
printf("[%d",i);
printf("]: ");
printf("%s\n", meses[i]);
}
getch();
}
2. Dado los nombres de N personas ordenar en orden descendente.
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "math.h"
#include "string.h"

void main(void)
{
char nombre[100][15];
int i,n,k;
char aux[15];
printf("Introduzca la cantidad de personas \n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("Introduza el nombre [%d",i);
printf("]: ");
scanf("%s", nombre[i]);
}
for(k=1;k<=n-1;k++)
{
for(i=1;i<=n-1;i++)
{
if(strcmp(nombre[i], nombre[i+1])>0)
{
strcpy(aux,nombre[i]);
strcpy(nombre[i], nombre[i+1]);
strcpy(nombre[i+1], aux);
}
}
}
printf("Los nombres son \n");
for(i=1;i<=n;i++)
{
printf("[%d",i);
printf("]: ");
printf("%s\n", nombre[i]);
}
getch();
}

3. Dado un vector con numero de registro y otro con los apellidos
ordenar los datos en orden alfabetico.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "stdlib.h"
#include "string.h"

void main (void)
{
int registro[1000];
char apellido[1000][15];
int i,k,n,aux_2;
char aux[1000];
printf("Introduzca el numero de alumnos \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Introduzca el numero de registro del alumno [%d]: ",i);
scanf("%d",&registro[i]);
}
printf("\n");
for(i=0;i<n;i++)
{
printf("Introduzca el apellido del alumno %d:
",registro[i]);
scanf("%s",apellido[i]);
}
for(k=0;k<n-1;k++)
{
for(i=0;i<n-1;i++)
{
if(strcmp(apellido[i],apellido[i+1])>0)
{
strcpy(aux,apellido[i]);
strcpy(apellido[i],apellido[i+1]);
strcpy(apellido[i+1],aux);
aux_2=registro[i];
registro[i]=registro[i+1];
registro[i+1]=aux_2;
}
}
}
printf("\n");
printf("REGISTRO APELLIDO\n");
for(i=0;i<n;i++)
{
printf("%d ",registro[i]);
printf(" %s ",apellido[i]);
printf("\n");
}
getch();
}


4. Dado tres exmenes de M alumnos determinar la nota promedio de
cada uno. Validar que cada alumno debe tener notas entre 0 y 100.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "stdlib.h"
#include "string.h"

void main (void)
{
int p_parcial[100];
int s_parcial[100];
int t_parcial[100];
int i,k,r,n,h,aux,sw;
float promedio[100];
h=0;
r=0;
printf("Introduzca la cantidad de alumnos \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
sw=0;
while(sw==0)
{
printf("Introduzca la nota del primer parcial del alumno %d
\n",i);
scanf("%d",&p_parcial[i]);
if(p_parcial[i]>=0 && p_parcial[i]<=100 )
{
sw=1;
}
}
sw=0;
while(sw==0)
{
printf("Introduzca la nota del segundo parcial del alumno %d
\n",i);
scanf("%d",&s_parcial[i]);
if(s_parcial[i]>=0 && s_parcial[i]<=100 )
{
sw=1;
}
}
sw=0;
while(sw==0)
{
printf("Introduzca la nota del tercer parcial del alumno %d
\n",i);
scanf("%d",&t_parcial[i]);
if(t_parcial[i]>=0 && t_parcial[i]<=100 )
{
sw=1;
}
}
promedio[i]=((p_parcial[i]+s_parcial[i]+t_parcial[i])/3);
if(promedio[i]>=51)
{
h=h+1;
}
else
{
r=r+1;
}
}
for(k=0;k<n-1;k++)
{
for(i=0;i<n-1;i++)
{
if(promedio[i]>promedio[i+1])
{
aux=promedio[i];
promedio[i]=promedio[i+1];
promedio[i+1]=aux;
}
}
}
printf("El promedio mayor es %5.2f \n",promedio[n-1]);
printf("\n");
printf("Los tres mejores promedios son: \n");
printf("[%d] := %5.2f \n",i, promedio[n-1]);
printf("\n");
if(n>=2)
{
printf("[%d] := %5.2f \n",i, promedio[n-2]);
printf("\n");
}
if(n>=3)
{
printf("[%d] := %5.2f \n",i, promedio[n-3]);
printf("\n");
}
printf("\n");
printf("Lista de aprobados y reprobados: \n");
printf("Los aprobados son := %d \n",h);
printf("Los reprobados son := %d \n",r);
getch();
}


5. Desarrollar un algoritmo que utilize vectores: un vector de numero
de registro, uno de nombres, uno para almacenar notas de primer
examen y otro del segundo examen para N alumnos, y en un ultimo
vector colocar promedio de cada alumno.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "stdlib.h"
#include "string.h"

void main (void)
{
int registro[1000];
char nombre[1000][100];
int p_parcial[1000];
int s_parcial[1000];
float promedio[1000];
int i,k,n,h,r;
int aux;
char aux_2[1000];
h=0;
r=0;
printf("Introduzca la cantidad de alumnos \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Introduzca el numero de registro del alumno %d \n",i);
scanf("%d",&registro[i]);
printf("Introduzca el nombre del alumno %d \n",i);
scanf("%s",nombre[i]);
printf("Introduzca la nota del primer parcial del alumno %d
\n",i);
scanf("%d",&p_parcial[i]);
printf("Introduzca la nota del segundo parcial del alumno %d
\n",i);
scanf("%d",&s_parcial[i]);
promedio[i]=((p_parcial[i]+s_parcial[i])/2);
if(promedio[i]>=51)
{
h=h+1;
}
else
{
r=r+1;
}
}
for(k=0;k<n-1;k++)
{
for(i=0;i<n-1;i++)
{
if(promedio[i]>promedio[i+1])
{
aux=promedio[i];
promedio[i]=promedio[i+1];
promedio[i+1]=aux;
strcpy(aux_2,nombre[i]);
strcpy(nombre[i],nombre[i+1]);
strcpy(nombre[i+1],aux_2);
aux=p_parcial[i];
p_parcial[i]=p_parcial[i+1];
p_parcial[i+1]=aux;
aux=s_parcial[i];
s_parcial[i]=s_parcial[i+1];
s_parcial[i+1]=aux;
}
}
}
printf("El promedio mayor es de %5.2f del alumno %s con registro %d
\n",promedio[n-1],nombre[n-1],registro[n-1]);
printf("\n");
printf("Los tres mejores promedios son: \n");
printf("%d %s := %5.2f \n",registro[n-1],nombre[n-1], promedio[n-1]);
printf("\n");
if(n>=2)
{
printf("%d %s := %5.2f \n",registro[n-2],nombre[n-2], promedio[n-2]);
printf("\n");
}
if(n>=3)
{
printf("%d %s := %5.2f \n",registro[n-3],nombre[n-3], promedio[n-3]);
printf("\n");
}
printf("\n");
printf("Lista de aprobados y reprobados: \n");
printf("Los aprobados son := %d \n",h);
printf("Los reprobados son := %d \n",r);
printf("\n");
printf("Lista de reprobados: \n");
printf("REGISTRO NOMBRE NOTA\n");
for(i=0;i<n;i++)
{
if(promedio[i]<51)
{

printf("%d",registro[i]);
printf(" %s",nombre[i]);
printf(" %5.2f \n",promedio[i]);
}
}
getch();
}

6. Introducir datos a un vector A que tiene N elementos y otro B que
tiene M elementos, colocar en un vector Z, donde el vector Z tiene los
valores que estn simultneamente en A y B.

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "stdlib.h"
#include "string.h"

void main (void)
{
int A[1000];
int B[1000];
int Z[1000];
int i,j,a,b,c;
c=0;
printf("Introduzca la cantidad de elementos de A \n");
scanf("%d",&a);
printf("ELEMENTOS DEL VECTOR A \n");
for(i=0;i<a;i++)
{
printf("[%d]:= ",i);
scanf("%d",&A[i]);
}
printf("Introduzca la cantidad de elementos de B \n");
scanf("%d",&b);
printf("ELEMENTOS DEL VECTOR B \n");
for(i=0;i<b;i++)
{
printf("[%d]:= ",i);
scanf("%d",&B[i]);
}
for(j=0;j<b;j++)
{
for(i=0;i<a;i++)
{
if(A[i]==B[j])
{
Z[c]=A[i];
c=c+1;
}
}
}
printf("ELEMENTOS DEL VECTOR Z \n");
for(i=0;i<c;i++)
{
printf("[%d]:= ",i);
printf("%d \n",Z[i]);
}
if(c==0)
{
printf("No existen elementos en comun \n");
}
getch();
}



7. Se tiene un arreglo para el numero de registro, otro para la carrera,
y otro para ao de ingreso, a lo largo de los ltimos 10 aos.
Determinar el total de alumnos por ao que ingresaron a la
Universidad.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "stdlib.h"
#include "string.h"

void main (void)
{
int registro[1000];
char carrera[1000][100];
int anio[1000];
int n,i,c_1,c_2,c_3,c_4,c_5,c_6,c_7,c_8,c_9,c_10;
c_1=0;
c_2=0;
c_3=0;
c_4=0;
c_5=0;
c_6=0;
c_7=0;
c_8=0;
c_9=0;
c_10=0;
printf("Introduzca el numero de alumnos \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Introduzca el numero de registro del alumno \n");
scanf("%d",&registro[i]);
printf("Introduzca la carrera del alumno \n");
scanf("%s",carrera[i]);
printf("Introduzca el anio de ingreso del alumno \n");
scanf("%d",&anio[i]);
printf("\n");
if(anio[i]==2000)
{
c_1=c_1+1;
}
if(anio[i]==2001)
{
c_2=c_2+1;
}
if(anio[i]==2002)
{
c_3=c_3+1;
}
if(anio[i]==2003)
{
c_4=c_4+1;
}
if(anio[i]==2004)
{
c_5=c_5+1;
}
if(anio[i]==2005)
{
c_6=c_6+1;
}
if(anio[i]==2006)
{
c_7=c_7+1;
}
if(anio[i]==2007)
{
c_8=c_8+1;
}
if(anio[i]==2008)
{
c_9=c_9+1;
}
if(anio[i]==2009)
{
c_10=c_10+1;
}
}
printf("CANTIDAD DE ALUMNOS QUE INGRESARON A LA UNIVERSIDAD EN
LOS ULTIMOS 10 ANIOS \n");
printf("\n");
printf("La cantidad de alumnos que ingresaron el anio 2000 es de
=: %d \n",c_1);
printf("La cantidad de alumnos que ingresaron el anio 2001 es de
=: %d \n",c_2);
printf("La cantidad de alumnos que ingresaron el anio 2002 es de
=: %d \n",c_3);
printf("La cantidad de alumnos que ingresaron el anio 2003 es de
=: %d \n",c_4);
printf("La cantidad de alumnos que ingresaron el anio 2004 es de
=: %d \n",c_5);
printf("La cantidad de alumnos que ingresaron el anio 2005 es de
=: %d \n",c_6);
printf("La cantidad de alumnos que ingresaron el anio 2006 es de
=: %d \n",c_7);
printf("La cantidad de alumnos que ingresaron el anio 2007 es de
=: %d \n",c_8);
printf("La cantidad de alumnos que ingresaron el anio 2008 es de
=: %d \n",c_9);
printf("La cantidad de alumnos que ingresaron el anio 2009 es de
=: %d \n",c_10);
getch();
}


8. Desarrolle un programa que calcule y escriba la cantidad de granos
de maz que se pueden colocar en un tablero siguiendo la regla.

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"

void main(void)
{
double vector[8][8];
int i,j,h;
double suma;
j=0;
h=0;
suma=0;
printf("MAICES \n");
for(j=0;j<8;j++)
{
for(i=0;i<8;i++)
{
vector[j][i]=powf(2,h);
h=h+1;
suma=suma+vector[j][i];
}
}
for(j=0;j<8;j++)
{
printf("FILA %d \n",j);
for(i=0;i<8;i++)
{
printf(" %5.0f",vector[j][i]);
}
printf("\n");
}
printf("La cantidad total de maices es de =: %5.0f",suma);
getch();
}


9. Determinada empresa vende N artculos diferentes. La empresa
identifica cada articulo con cdigo de 5 letras. Desarrolle un algoritmo
para introducir el cdigo, descripcin y precio de los tres artculos mas
caros.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"

void main(void)
{
char codigo[100][6];
char aux[100];
char articulo[100][100];
int i,j,n,aux_2;
float precio[1000];
printf("Introduzca el numero de articulos \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Introduzca el codigo del articulo \n");
scanf("%s",codigo[i]);
printf("Introduzca la descripcion del articulo \n");
scanf("%s",articulo[i]);
printf("Introduzca el precio del articulo \n");
scanf("%f",&precio[i]);
}
for(j=0;j<n-1;j++)
{
for(i=0;i<n-1;i++)
{
if(precio[i]>precio[i+1])
{
aux_2=precio[i];
precio[i]=precio[i+1];
precio[i+1]=aux_2;

strcpy(aux,articulo[i]);
strcpy(articulo[i],articulo[i+1]);
strcpy(articulo[i+1],aux);

strcpy(aux,codigo[i]);
strcpy(codigo[i],codigo[i+1]);
strcpy(codigo[i+1],aux);
}
}
}
printf("\n");
printf("LOS 3 ARTICULOS MAS CAROS\n");
printf("%s %s %5.2f Bs. \n",codigo[n-1],articulo[n-
1],precio[n-1]);
if(n>=2)
{
printf("%s %s %5.2f Bs. \n",codigo[n-2],articulo[n-
2],precio[n-2]);
}
if(n>=3)
{
printf("%s %s %5.2f Bs. \n",codigo[n-3],articulo[n-
3],precio[n-3]);
}
getch();
}

10. Desarrollar un programa para x personas, para realizar las tareas
correspondientes.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"

void main(void)
{
int edad[100];
int codigo[100];
char nombre[100][100];
float aux;
int n,i,sw;
float por_1,por_2,por_3;
float salario[100];
int ma_1000,ma_30,sma_30,me_30,sme_30;
float c_1,c_2,c_3,prom,prom_30,prom_29,dif,prom_3;
sw=0;
i=0;
c_1=0;
c_2=0;
c_3=0;
ma_1000=0;
ma_30=0;
sma_30=0;
me_30=0;
sme_30=0;
prom=0;
prom_30=0;
prom_29=0;
aux=0;
dif=0;

printf("===========SALARIOS============ \n");
printf("\n");
printf("Introduzca la cantidad de personas \n");
scanf("%d",&n);
printf("================================\n");
printf("Codigo Grado de educacion\n");
printf("================================\n");
printf("1 PRIMARIOS \n");
printf("================================\n");
printf("2 SECUNDARIOS \n");
printf("================================\n");
printf("3 SUPERIOR \n");
printf("================================\n");
for(i=0;i<n;i++)
{
sw=0;
printf("Introduzca el nombre del empleado \n");
scanf("%s",nombre[i]);
printf("Introduzca el salario en dolares \n");
scanf("%f",&salario[i]);
printf("Introduzca la edad del empleado \n");
scanf("%d",&edad[i]);
while(sw==0)
{
printf("Introduzca el codigo del empleado \n");
scanf("%d",&codigo[i]);
if((codigo[i]>0)&&(codigo[i]<4))
{
sw=1;
}
}
if((codigo[i]==3)&&(salario[i]<1000))
{
ma_1000=ma_1000+1;
}
if(edad[i]>=30)
{
ma_30=ma_30+1;
sma_30=sma_30+salario[i];
}
else
{
me_30=me_30+1;
sme_30=sme_30+salario[i];
}
if(codigo[i]==1)
{
c_1=c_1+1;
}
if(codigo[i]==2)
{
c_2=c_2+1;
}

if(codigo[i]==3)
{
c_3=c_3+1;
prom=prom+edad[i];
}
}
printf("\n");
printf("La cantidad de personas con educacion superior y salario
de menos de 1000 $ es =: %d \n",ma_1000);
printf("DIFERENCIA DE LOS PROMEDIOS \n");
printf("\n");
prom_30=(sma_30/ma_30);
prom_29=(sme_30/me_30);
dif=prom_30-prom_29;
printf("El promedio de las personas con mas de 30 anios es :=
%5.2f \n",prom_30);
printf("El promedio de las personas con menos de 30 anios es :=
%5.2f \n",prom_29);
printf("La diferencia de los promedios es := %5.2f \n",dif);
printf("\n");
printf("PORCENTAJES DE PERSONAS SEGUN SU GRADO DE EDUCACION
\n");
por_1=((c_1*100)/n);
por_2=((c_2*100)/n);
por_3=((c_3*100)/n);
printf("El porcentaje de personas con educacion primaria es de
:= %5.2f \n",por_1);
printf("El porcentaje de personas con educacion secundaria es de
:= %5.2f \n",por_2);
printf("El porcentaje de personas con educacion superior es de
:= %5.2f \n",por_3);
printf("\n");
prom_3=(prom/c_3);
printf("PROMEDIO NIVEL SUPERIOR \n");
printf("El promedio de edad de personas con educacion superior
es := %5.2f ",prom_3);
getch();
}

You might also like