independientemente de la declaración los arreglos se pueden pasar de algunas de las dos siguientes formas:
(a) x = funcion(prom; tabla);
(b) x = funcion(prom; &tabla[0]);
prog27.c Ejemplo paso arreglos como parámetros
/* Cálculo de la variancia de 10 números
#include <stdio.h>
/* Definición función promedio(t) */
float
promedio(t)
float t[ ];
{
int i;
float s;
for (s=0, i=0; i < 10; i=i+1)
s=s+t[i];
return(s/10);
}
/* Función que eleva los elementos del arreglo al cuadrado */
void potencia(t,res)
float t[10],res[];
{
int main()
{
float t[10], t2[10];
float m1, m2;
int i;
for (i=0; i!10; i=i+1)
{
printf(''De valor de
t[%d]:'',i);
scanf(''%f'',&t[i]);
}
m1=promedio(t);
potencia(t,t2);
m2=promedio(&t2[0]);
printf(''varianza:%dnn'',m2-(m1*m1));
}
prog28.c Ejemplo uso arreglos de dos dimensiones
/* Suma de matrices */
/* Función que captura los valores de una matriz */
void captura(a)
float a[3][3];
{
int i,j;
for (i=0; i<3; i++)
for (j=0; j<3; j++)
{
printf(''Valor a[%d,%d]:''i,j);
scanf(''%f'',&a[i][j]);
}
}
/* Sumando dos matrices */
void suma(a,b,c);
float a[3][3], b[3][3], c[3][3];
{
int i,j;
for (i=0; i<3; i++)
for (j=0; j < 3; j++)
c[i][j]= a[i][j] + b[i][j];
}
/* Desplegando el contenido de una matriz */
void despliega(a)
float a[3][3];
{
#include <stdio.h>
int main()
{
float a[3][3], b[3][3], c[3][3];
printf("Captura de la primera
matriz: \n");
captura(a);
printf("\n\nCaptura
de la segunda matriz: \n");
captura(b);
suma(a,b,c);
printf("\n\nEl resultado de la suma de las matrices es: \n");
imprime(c);
}
Ejercicios arreglos
|
|
|