Ejercicios

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Laboratorio de Programación Avanzada y Métodos Numéricos

Nombre del Alumno: Mendoza Galván José Luis

No. de Cuenta: 306061545 Grupo Laboratorio: 8
Grupo de teoría: 4
No. de las prácticas: 1,2,3
Títulos de las Prácticas:
1.-Arreglosy Estructuras
2.- Apuntadores
3.- Manejo de Archivos En C

Fecha Entrega: 11/Marzo/2010

1.-Arreglos y Estructuras

Crear un programa escrito en lenguaje C que genere una matriz cuadrada de 100 elementos con números aleatorios del 1 al 100. Una vez creada la matriz, mostrar el contenido de dicha matriz.

Después organiza los datos en pares e impares y muestra por separado ambosgrupos.

Código propuesto como solución al problema:
#include
#include

main(){
int a[10][10];//Declaración de arreglo Para matriz de 100 elementos
int i,j;

for(i=0;ipolB.grado;i–)

polRes.coef[i]=polA.coef[i]; //Se usa apuntador como arreglo

for(i=polB.grado;i>=0;i–)polRes.coef[i]=polA.coef[i]-polB.coef[i];//Hace la resta de los polinomios

}

else //Compara Cual es mayor para hacer la resta correspondiente

{

for(i=gradoMAX;i>polA.grado;i–)

polRes.coef[i]=polB.coef[i];

for(i=polA.grado;i>=0;i–)

polRes.coef[i]=polB.coef[i]-polA.coef[i];//Se hace laresta

}

}

return polRes;

}

polinomio NumGrupo() //Función que genera mi número grupo

{

polinomio pol1; //Se usa estructura

pol1.grado=3;

pol1.coef=NULL;

pol1.coef= (int *)malloc((pol1.grado + 1)*sizeof(int)); //uso de memoria dinámica

pol1.coef[3]=1;

pol1.coef[2]=2;pol1.coef[1]=3;

pol1.coef[0]=4;

return pol1;

}

main()

{

polinomio polA,polC, polB,polS,polR,polN,polNum; //Estructura como tipo de datos

int i=0;

int gradoMAX, polMAX;

printf(“Polinomio A:
“);

polA=LeePolinomio();//Se usa la función para llenar polinomio polA

polC=NumGrupo(); //Se asigna NumGrupo a polC

if(polA.coef !=NULL)

{

printf(”

Polinomio B
“);

polB=LeePolinomio();//Se llena polinomio polB

if(polB.coef != NULL)

{

printf(”

Suma del Polinomio A + B:

“);

polS=SumaPolinomios(polA,polB);//Se llena polS con la suma A+B

if( polS.coef != NULL){

for(i=polS.grado;i>=0;i–)printf(“+(%d)x^%d “, polS.coef[i],i);//Se le da forma al polinomio

}

printf(”
“);

printf(”
Resta del Polinomio A – B:

“);

polR=RestaPolinomios(polA,polB);//polR es igual a polA-polB

if( polS.coef != NULL){

for(i=polR.grado;i>=0;i–)printf(“+(%d)x^%d “, polR.coef[i],i);//Se da forma al polinomio

}

printf(”
“);

// PolinomioA – PolinomioB + PolinomioGrupo

polN=NumGrupo();

if(polR.grado >= polN.grado)

{

gradoMAX=polR.grado;

polMAX=1;

}

else

{gradoMAX=polN.grado;

polMAX=2;

}

polNum.grado=gradoMAX;

polNum.coef=(int *)malloc((gradoMAX + 1)*sizeof(int));//Memoria dinámica

if (polNum.coef != NULL)

{

if(polMAX==1)

{

for(i=gradoMAX;i>polN.grado;i–)

polNum.coef[i]=polR.coef[i];…