Está en la página 1de 37

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA

MECANICA Y ELECTRICA

UNIDAD: ZACATENCO

PRCTICA 9 DE FUNDAMENTOS DE PROGRAMACIN

NOMBRE:

BOLETA:

GRUPO:

FECHA DE REALIZACIN:

FECHA DE ENTREGA:

TEMA:
PUNTEROS.

INDICE
PORTADA..1
INDICE....2
OBJETIVOS.........................................................................................................................3
PRACTICA 8 CON ARREGLOS......3 a la 15
EJERCICIO 1...........................3 y 4
Pgin
a1
EJERCICIO 2..5 y 6
EJERCICIO 3..7 y 8
EJERCICIO 4......8 a la 10
EJERCICIO 5.....10 a la 12
EJERCICIO 6.12 a la 15
PRACTICA 8 CON PUNTEROS.15 a la 28
EJERCICIO 1...................15 a la 17
EJERCICIO 2.17 a la 19
EJERCICIO 3.19 a la 21
EJERCICIO 4.....21 a la 23
EJERCICIO 5.....23 a la 25
EJERCICIO 6.25 a la 28
MENU DE MATRICES..28 a la 38
CONCLUSIONES..38

OBJETIVOS:

Realizar programas utilizando punteros en funciones de usuario paso por


referencia, tomando en consideracin sentencias de control, iteracin y funciones
de usuario.

PRACTICA 8 CON ARREGLOS:

Ejercicio 1.

Pgin
a2
Lenguaje C:
#include<stdio.h>
#include<stdlib.h>

const int max=30;

void leer(float A[max], int lim);


void imprimir(float A[max], int lim);
void resistencia(float A[max], int lim, float R[2]);

main() {
system("color A0");
int lim;
float A[max], Sr[2];

printf("Cuantas resistencias desea calcular?: ");


scanf("%d", &lim);

if(lim<=max) {
printf("\n\n\tLectura de datos a ingresar:\n\n");
leer(A, lim);
printf("\n\n");
printf("\tImpresion de datos ingresados:\n\n");
imprimir(A, lim);
printf("\n\n");
printf("\tResultado de la suma de resistencias en serie y paralelo\n\n");
resistencia(A, lim, Sr);
printf("\t\tla suma de resistencias en serie es: %.3f ohms\n", Sr[0]);
printf("\t\tResultado de la suma de resistencias en paralelo es: %.3f ohms", Sr[1]);
printf("\n\n\n\n");
} else
printf("\n\n\t***Rebasaste la cantidad de resistencias permitidas***\n\n\n");
system("pause");
return 0;
}

//Declaracion de las funciones de usuario


void leer(float A[max], int lim) {
int i=0;
for(i=0; i<lim; i++) {
printf("\t\tIngresa el valor de la resistencia %d: ", i+1);
scanf("%f", &A[i]);
}
}

void imprimir(float A[max], int lim) {


int i=0;
for(i=0; i<lim; i++) {

Pgin
a3
printf("\tLa resistencia %d vale: %.0f ohms\n", i+1, A[i]);
}
}

void resistencia(float A[max], int lim, float R[2]) {


int i=0;
float S=0;
for(i=0; i<lim; i++) {
R[0]=R[0]+A[i];
S=S+(1/A[i]);
}
R[1]=1/S;
}

CORRIDA:

Ejercicio 2.
Lenguaje C:
#include <stdlib.h>
#include <stdio.h>

const int max=10;

void GUA(float X[max],float V);


void IMP(float X[max]);
void SUM(float X[max], float S[1]);
int Factorial (int num);

Pgin
a4
main() {
system("color A0");
float C[max],V,Z,S[1],pi=3.1416;
printf("SERIE DE TAYLOR COSENO\n");
printf("SE REALIZARA LA SUMA DE LOS PRIMEROS 10 ELEMNETOS\n\n");
printf("\tDAME EL COSENO QUE QUIERES GUARDAR PARA SACARLE EL COSENO: ");
scanf("%f",&V);
Z=V;
V=(pi*V)/180;
GUA(C, V);
IMP(C);
SUM(C, S);
printf("\n\n\tEl resultado del coseno:");
printf("\n\t\tEl coseno de %.0f es: %.4f\n\n", Z, S[0]);
system("pause");
return 0;
}

//DEFINICION DE LAS FUNCIONES


//DEFINICION DE GUA
void GUA(float X[max],float V) {
int i=0, n=0, num, F; float c, a, b;
for(n=0;n<max;n++) {
num=2*n;
F=Factorial(num);
a=pow(-1,n);
b=pow(V,2*n);
c=(a/F)*b;
X[i]=c;
i++; } }

//DEFINICION DE IMP
void IMP(float X[max]) {
int i;
printf("\n\tEl valor de los primeros 10 numeros de la sucesion:\n");
for(i=0; i<max; i++) {
printf("\t\tEL ELEMENTO %i vale: %.13f\n", i+1 ,X[i]);
} }

//DEFINICION DE SUM
void SUM(float X[max], float S[1]) {
int i=0, a=0;
float SU;
for(i=0; i<max; i++) {
SU=SU+X[i]; }
S[0]=SU; }

Pgin
a5
//DEFINICION DE LAS FUNCIONES
//Definicion de Factorial
int Factorial(int num) {
int c,fact=1,F;
if(num!=0) {
for (c=1;c<=num;c++) {
fact=fact*c;
F=fact; }
} else
F=1;
return F; }

CORRIDA:

EJERCICIO 3:
LENGUAJE C:
#include<stdio.h>
#include<stdlib.h>

const int max=100;

void leer(float X[max], int lim);


void imprimir(float X[max], int lim);
void may(float X[max], int lim, float Mm[1]);

main () {
system("color A0");
Pgin
a6
int lim; float X[max], R[1];
printf("Dame el numero de valores que quieres ingresar: ");
scanf("%d", &lim);
if(lim<=max) {
printf("\n\nLectura de datos:\n");
leer(X, lim);
printf("\n\n");
printf("Impresion de datos:\n");
imprimir(X, lim);
printf("\n\n");
printf("Numero mayor:\n");
may(X, lim, R);
printf("\nEl numero mayor es: %.0f\n", R[0]);
printf("\n\n\n");
}
system("pause");
return 0;
}

void leer(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("Ingresa el valor %d: ", i+1);
scanf("%f", &X[i]);
}
}

void imprimir(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("El valor %d es: %.0f\n", i+1, X[i]);
}
}

void may(float X[max], int lim, float Mm[1]) {


int i;
float mayor=X[0], menor=X[1];
for(i=0; i<lim; i++) {
if(X[i]>mayor) {
mayor=X[i];
}
}
Mm[0]=mayor;
}

Pgin
a7
CORRIDA:

Ejercicio 4.
Lenguaje C:
#include<stdio.h>
#include<stdlib.h>

const int max=100;

void leer(float X[max], int lim);


void imprimir(float X[max], int lim);
void maymen(float X[max], int lim, float Mm[2]);

main () {
system("color A0");
int lim;
float X[max], Mm[2];
printf("Dame el numero de valores que quieres ingresar: ");
scanf("%d", &lim);
if(lim<=max) {
printf("\n\nLectura de datos:\n");
leer(X, lim);
printf("\n\n");
printf("Impresion de datos:\n");
imprimir(X, lim);
printf("\n\n");
printf("Numero mayoy y menor:\n");
maymen(X, lim, Mm);
printf("\nEl numero mayor es: %.0f\n", Mm[0]);
Pgin
a8
printf("El numero menor es: %.0f", Mm[1]);
printf("\n\n\n");
}
system("pause");
return 0;
}

void leer(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("Ingresa el valor %d: ", i+1);
scanf("%f", &X[i]);
}
}

void imprimir(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("El valor %d es: %.0f\n", i+1, X[i]);
}
}

void maymen(float X[max], int lim, float Mm[2]) {


int i;
float mayor=X[0], menor=X[1];
for(i=0; i<lim; i++) {
if(X[i]>mayor) {
mayor=X[i];
} else
if(X[i]<menor) {
menor=X[i];
}
}
Mm[0]=mayor;
Mm[1]=menor;
}

CORRIDA:

Pgin
a9
Ejercicio 5.
Lenguaje C:
#include<stdio.h>
#include<stdlib.h>

const int max=12;

void leer(float w[max]);


void imprimir(float w[max]);
void venacumu(float w[max], float RP[1]);
void maxmin(float w[max], float Mm[1], float mm[1], float May[1], float men[1]);

main() {
system("color A0");
float Mm[1], mm[1];
float w[max], RP[1], May[1], men[1];
printf("\n\tLectura de datos:\n");
leer(w);
printf("\n\n");
printf("\tImpresion de los datos ingresados:\n");
imprimir(w);
printf("\n\n");
printf("\tVenta Acumulada de todo el anio:\n");
venacumu(w, RP);
printf("\t\tLa venta acumulada del anio fue de $%.3f", RP[0]);
printf("\n\n");
printf("\tIngreso maximo y minimo de las ventas en el anio:\n");
maxmin(w, Mm, mm, May, men);
printf("\t\tLa venta maxima fue de: $%.3f en el mes %.0f\n", May[0], Mm[0]);
printf("\t\tLa venta minima fue de: $%.3f en el mes %.0f", men[0], mm[0]);

Pgin
a 10
printf("\n\n\n");
system("pause");
return 0;
}

//Declaracion de las funciones de usuario


void leer(float w[max]) {
int i=0;
for(i=0; i<max; i++) {
printf("\t\tIngresa la ganancia del mes %d: ", i+1);
scanf("%f", &w[i]);
}
}

void imprimir(float w[max]) {


int i=0;
for(i=0; i<max; i++) {
printf("\t\tLa ganancia del mes %d fue de $%.0f\n", i+1, w[i]);
}
}

void venacumu(float w[max], float RP[1]) {


int i=0; float A=0;
for(i=0; i<max; i++) {
A=A+w[i];
}
RP[0]=A;
}

void maxmin(float w[max], float Mm[1], float mm[1], float May[1], float men[1]) {
int i=0; float mayor=w[0], menor=w[1]; float maximo=i, minimo=i;
for(i=0; i<max; i++) {
if(w[i]>mayor) {
mayor=w[i];
maximo=i;
} else
if(w[i]<menor) {
menor=w[i];
minimo=i;
}
Mm[0]=maximo+1;
mm[0]=minimo+1;
May[0]=mayor;
men[0]=menor;
}
}

CORRIDA:

Pgin
a 11
Ejercicio 6.
Lenguaje C:
#include<stdio.h>
#include<stdlib.h>

const int max=5;

void cantidad(float w[max], char nom);


void precios(float w[max], float pres[max]);
void siniva(float w[max], float pres[max], float SinI[max]);
void iva(float w[max], float pres[max], float ConI[max]);
void VentaT(float w[max], float pres[max], float SinI[max], float ConI[max], float AIVA[1], float
VIVA[1], float VTN[1]);

main() {
system("color A0");
char nom;
float w[max], pres[max], SinI[max], ConI[max], AIVA[1], VIVA[1], VTN[1];
printf("\n\tCantidad de productos que quiere comprar para cada cosa:\n");
cantidad(w, nom);
printf("\n\n");
printf("\tValor de cada producto:\n");
precios(w, pres);
printf("\n\n");
printf("\tPresio neto de cada producto sin iva:\n");
siniva(w, pres, SinI);
printf("\n\n");
printf("\tIndicar el iva de cada uno de los productos:\n");
iva(w, pres, ConI);
printf("\n\n\n");

Pgin
a 12
printf("\tVentas totales antes del iva, del iva y la venta total neta:\n");
VentaT(w, pres, SinI, ConI, AIVA, VIVA, VTN);
printf("\t\tEl total de la venta antes del iva es: $%.3f\n", AIVA[0]);
printf("\t\tEl total de la venta del iva es: $%.3f\n", VIVA[0]);
printf("\t\tEl total de la venta total neta es: $%.0f", VTN[0]);
printf("\n\n\n");
system("pause");
return 0;
}

//Declaracion de las funciones de usuario


//Cantidad de productos que quiere comprar de cada uno
void cantidad(float w[max], char nom) {
int i=0;
for(i=0; i<max; i++) {
printf("\t\tIngrese el nombre del producto %d: ", i+1);
scanf("%s", &nom);
printf("\t\t\tCuantos quieres comprar: ");
scanf ("%f", &w[i]);
}
}

//valor de cada producto


void precios(float w[max], float pres[max]) {
int i=0;
for(i=0; i<max; i++) {
printf("\t\tEl costo neto de producto %d es: ", i+1);
scanf("%f", &pres[i]);
}
}

//Presio neto del producto sin iva


void siniva(float w[max], float pres[max], float SinI[max]) {
int i=0; float a;
for(i=0; i<max; i++) {
SinI[i]=pres[i]/1.16;//El iva que se considera en este programa sera del 16% sobre el producto
printf("\t\tEl costo sin iva del producto %d es: $%.3f\n", i+1, SinI[i]);
}
}

//Indicar el iva de cada uno de los productos


void iva(float w[max], float pres[max], float ConI[max]) {
int i=0; float b;
for(i=0; i<max; i++) {
ConI[i]=pres[i]-(pres[i]/1.16);
printf("\t\tEl valor del iva del producto %d es: $%.3f\n", i+1, ConI[i]);
}
}

Pgin
a 13
//Ventas totales antes del iva, el iva y la venta total neta
void VentaT(float w[max], float pres[max], float SinI[max], float ConI[max], float AIVA[1], float
VIVA[1], float VTN[1]) {
int i=0; float a=0, b=0, c=0;
for(i=0; i<max; i++) {
//Venta antes del iva
a=a+(w[i]*SinI[i]);
//Venta del iva
b=b+(w[i]*ConI[i]);
//Venta total neta
c=c+(w[i]*pres[i]);
}
AIVA[0]=a;
VIVA[0]=b;
VTN[0]=c;
}

CORRIDA:

PRACTICA 8 CON PUNTEROS:


EJERCICIO 1:
Pgin
a 14
LENGUAJE C:
#include<stdio.h>
#include<stdlib.h>
const int max=30;
void leer(float A[max], int lim);
void resisse(float A[max], int lim, float*RS);
void resispa(float A[max], int lim, float*RP);
main() {
system("color A0");
int lim, opcion;
float A[max], RS=0, RP=0;
printf("Cuantas resistencias desea calcular?: ");
scanf("%d", &lim);
if(lim<=max) {
printf("\n\n\tLectura de datos a ingresar:\n\n");
leer(A, lim);
printf("\n\n");

printf("\t\tElige: 1(Resistencia en Serie), 2(Resistencia en Paralelo)\n\t\ty cualquier otra opcion


salir del programa\n\n");
printf("\tDime que suma de resistencias quieres calcular: ");
scanf("%d", &opcion);

switch(opcion) {
case 1:
printf("\n\n\tResistencia en Serie:\n\n");
resisse(A, lim, &RS);
printf("\t\tla suma de resistencias en serie es: %.3f ohms\n\n\n\n ", RS);
break;

case 2:
printf("\n\n\tResistencia en Paralelo\n\n");
resistencia(A, lim, &RP);
printf("\t\tLa suma de resistencias en paralelo es: %.3f ohms\n\n\n\n ", RP);
break;

default:
printf("\n\n\t\t*****No elegiste opcion*****\n\n\n");
break; }
} else
printf("\n\n\t***Rebasaste la cantidad de resistencias permitidas***\n\n\n");
system("pause");
return 0; }

//Declaracion de las funciones de usuario


void leer(float A[max], int lim) {
int i=0;
for(i=0; i<lim; i++) {

Pgin
a 15
printf("\t\tIngresa el valor de la resistencia %d: ", i+1);
scanf("%f", &A[i]);
} }

void resisse(float A[max], int lim, float*sRS) {


int i=0;
for(i=0; i<lim; i++) {
*sRS=*sRS+A[i];
} }

void resistencia(float A[max], int lim, float*sRP) {


int i=0; float S=0;
for(i=0; i<lim; i++) {
S=S+(1/A[i]);
}
*sRP=1/S;
}

CORRIDA:

EJERCICO 2:
LENGUAJE C:
#include <stdlib.h>
#include <stdio.h>
const int max=10;
void GUA(float X[max],float V);
void IMP(float X[max]);
void SUM(float X[max], float*S);

Pgin
a 16
int Factorial (int num);
main() {
system("color A0");
float C[max],V,Z,S,pi=3.1416;
printf("SERIE DE TAYLOR COSENO\n");
printf("SE REALIZARA LA SUMA DE LOS PRIMEROS 10 ELEMNETOS\n\n");
printf("\tDAME EL COSENO QUE QUIERES GUARDAR PARA SACARLE EL COSENO: ");
scanf("%f",&V);
Z=V;
V=(pi*V)/180;
GUA(C, V);
IMP(C);
SUM(C, &S);
printf("\n\n\tEl resultado del coseno:");
printf("\n\t\tEl coseno de %.0f es: %.4f\n\n", Z, S);
system("pause");
return 0;
}

//DEFINICION DE LAS FUNCIONES


//DEFINICION DE GUA
void GUA(float X[max],float V) {
int i=0, n=0, num, F; float c, a, b;
for(n=0;n<max;n++) {
num=2*n;
F=Factorial(num);
a=pow(-1,n);
b=pow(V,2*n);
c=(a/F)*b;
X[i]=c;
i++; } }

//DEFINICION DE IMP
void IMP(float X[max]) {
int i;
printf("\n\tEl valor de los primeros 10 numeros de la sucesion:\n");
for(i=0; i<max; i++) {
printf("\t\tEL ELEMENTO %i vale: %.13f\n", i+1 ,X[i]);
} }

//DEFINICION DE SUM
void SUM(float X[max], float*rS) {
int i=0, a=0;
float SU, S;
for(i=0; i<max; i++) {
SU=SU+X[i];
}

Pgin
a 17
*rS=SU;
}

//DEFINICION DE LAS FUNCIONES


//Definicion de Factorial
int Factorial(int num) {
int c,fact=1,F;
if(num!=0) {
for (c=1;c<=num;c++) {
fact=fact*c;
F=fact;
}
} else
F=1;
return F;
}

CORRIDA:

EJERCICIO 3:
LENGUAJE C:
#include<stdio.h>
#include<stdlib.h>

const int max=100;

void leer(float X[max], int lim);


void imprimir(float X[max], int lim);
Pgin
a 18
void may(float X[max], int lim, float*Mm);

main () {
system("color A0");
int lim; float X[max], R;
printf("Dame el numero de valores que quieres ingresar: ");
scanf("%d", &lim);
if(lim<=max) {
printf("\n\nLectura de datos:\n");
leer(X, lim);
printf("\n\n");
printf("Impresion de datos:\n");
imprimir(X, lim);
printf("\n\n");
printf("Numero mayor:\n");
may(X, lim, &R);
printf("\nEl numero mayor es: %.0f\n", R);
printf("\n\n\n");
}
system("pause");
return 0;
}

void leer(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("Ingresa el valor %d: ", i+1);
scanf("%f", &X[i]);
}
}

void imprimir(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("El valor %d es: %.0f\n", i+1, X[i]);
}
}

void may(float X[max], int lim, float*rMm) {


int i;
float mayor=X[0], menor=X[1];
for(i=0; i<lim; i++) {
if(X[i]>mayor) {
mayor=X[i];
}

Pgin
a 19
}
*rMm=mayor;
}

CORRIDA:

EJERCICIO 4:
LENGUAJE C:
#include<stdio.h>
#include<stdlib.h>

const int max=100;

void leer(float X[max], int lim);


void imprimir(float X[max], int lim);
void maymen(float X[max], int lim, float*may, float*men);

main () {
system("color A0");
int lim;
float X[max], may=0, men=0;
printf("Dame el numero de valores que quieres ingresar: ");
scanf("%d", &lim);
if(lim<=max) {
printf("\n\nLectura de datos:\n");
leer(X, lim);
printf("\n\n");
printf("Impresion de datos:\n");

Pgin
a 20
imprimir(X, lim);
printf("\n\n");
printf("Numero mayoy y menor:\n");
maymen(X, lim, &may, &men);
printf("\nEl numero mayor es: %.0f\n", may);
printf("El numero menor es: %.0f", men);
printf("\n\n\n");
}
system("pause");
return 0;
}

void leer(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("Ingresa el valor %d: ", i+1);
scanf("%f", &X[i]);
}
}

void imprimir(float X[max], int lim) {


int i;
for(i=0; i<lim; i++) {
printf("El valor %d es: %.0f\n", i+1, X[i]);
}
}

void maymen(float X[max], int lim, float*rmay, float*rmen) {


int i;
float mayor=X[0], menor=X[1];
for(i=0; i<lim; i++) {
if(X[i]>mayor) {
mayor=X[i];
} else
if(X[i]<menor) {
menor=X[i];
}
}
*rmay=mayor;
*rmen=menor;
}

CORRIDA:

Pgin
a 21
EJERCICIO 5:
LENGUAJE C:
#include<stdio.h>
#include<stdlib.h>

const int max=12;

void leer(float w[max]);


void imprimir(float w[max]);
void venacumu(float w[max], float*RP);
void maxmin(float w[max], float*Mm, float*mm, float*May, float*men);

main() {
system("color A0");
float Mm, mm;
float w[max], RP, May, men;
printf("\n\tLectura de datos:\n");
leer(w);
printf("\n\n");
printf("\tImpresion de los datos ingresados:\n");
imprimir(w);
printf("\n\n");
printf("\tVenta Acumulada de todo el anio:\n");
venacumu(w, &RP);
printf("\t\tLa venta acumulada del anio fue de $%.3f", RP);
printf("\n\n");
printf("\tIngreso maximo y minimo de las ventas en el anio:\n");
maxmin(w, &Mm, &mm, &May, &men);
printf("\t\tLa venta maxima fue de: $%.3f en el mes %.0f\n", May, Mm);

Pgin
a 22
printf("\t\tLa venta minima fue de: $%.3f en el mes %.0f", men, mm);
printf("\n\n\n");
system("pause");
return 0;
}

//Declaracion de las funciones de usuario


void leer(float w[max]) {
int i=0;
for(i=0; i<max; i++) {
printf("\t\tIngresa la ganancia del mes %d: ", i+1);
scanf("%f", &w[i]);
}
}

void imprimir(float w[max]) {


int i=0;
for(i=0; i<max; i++) {
printf("\t\tLa ganancia del mes %d fue de $%.0f\n", i+1, w[i]);
}
}

void venacumu(float w[max], float*rRP) {


int i=0; float A=0;
for(i=0; i<max; i++) {
A=A+w[i];
}
*rRP=A;
}

void maxmin(float w[max], float*rMm, float*rmm, float*rMay, float*rmen) {


int i=0; float mayor=w[0], menor=w[1]; float maximo=i, minimo=i;
for(i=0; i<max; i++) {
if(w[i]>mayor) {
mayor=w[i];
maximo=i;
} else
if(w[i]<menor) {
menor=w[i];
minimo=i;
}
*rMm=maximo+1;
*rmm=minimo+1;
*rMay=mayor;
*rmen=menor;
}
}

Pgin
a 23
CORRIDA:

EJERCICIO 6:
LENGUAJE C:
#include<stdio.h>
#include<stdlib.h>
const int max=5;
void cantidad(float w[max], char nom);
void precios(float w[max], float pres[max]);
void siniva(float w[max], float pres[max], float SinI[max]);
void iva(float w[max], float pres[max], float ConI[max]);
void VentaT(float w[max], float pres[max], float SinI[max], float ConI[max], float*AIVA, float*VIVA,
float*VTN);
main() {
system("color A0");
char nom;
float w[max], pres[max], SinI[max], ConI[max], AIVA, VIVA, VTN;
printf("\n\tCantidad de productos que quiere comprar para cada cosa:\n");
cantidad(w, nom);
printf("\n\n");
printf("\tValor de cada producto:\n");
precios(w, pres);
printf("\n\n");
printf("\tPresio neto de cada producto sin iva:\n");
siniva(w, pres, SinI);
printf("\n\n");
printf("\tIndicar el iva de cada uno de los productos:\n");
Pgin
a 24
iva(w, pres, ConI);
printf("\n\n\n");
printf("\tVentas totales antes del iva, del iva y la venta total neta:\n");
VentaT(w, pres, SinI, ConI, &AIVA, &VIVA, &VTN);
printf("\t\tEl total de la venta antes del iva es: $%.3f\n", AIVA);
printf("\t\tEl total de la venta del iva es: $%.3f\n", VIVA);
printf("\t\tEl total de la venta total neta es: $%.0f", VTN);
printf("\n\n\n");
system("pause");
return 0;
}

//Declaracion de las funciones de usuario


//Cantidad de productos que quiere comprar de cada uno
void cantidad(float w[max], char nom) {
int i=0;
for(i=0; i<max; i++) {
printf("\t\tIngrese el nombre del producto %d: ", i+1);
scanf("%s", &nom);
printf("\t\t\tCuantos quieres comprar: ");
scanf ("%f", &w[i]);
}
}

//valor de cada producto


void precios(float w[max], float pres[max]) {
int i=0;
for(i=0; i<max; i++) {
printf("\t\tEl costo neto de producto %d es: ", i+1);
scanf("%f", &pres[i]);
}
}

//Presio neto del producto sin iva


void siniva(float w[max], float pres[max], float SinI[max]) {
int i=0; float a;
for(i=0; i<max; i++) {
SinI[i]=pres[i]/1.16;//El iva que se considera en este programa sera del 16% sobre el producto
printf("\t\tEl costo sin iva del producto %d es: $%.3f\n", i+1, SinI[i]);
}
}

//Indicar el iva de cada uno de los productos


void iva(float w[max], float pres[max], float ConI[max]) {
int i=0; float b;
for(i=0; i<max; i++) {
ConI[i]=pres[i]-(pres[i]/1.16);

Pgin
a 25
printf("\t\tEl valor del iva del producto %d es: $%.3f\n", i+1, ConI[i]);
}
}

//Ventas totales antes del iva, el iva y la venta total neta


void VentaT(float w[max], float pres[max], float SinI[max], float ConI[max], float*rAIVA, float*rVIVA,
float*rVTN) {
int i=0; float a=0, b=0, c=0;
for(i=0; i<max; i++) {
//Venta antes del iva
a=a+(w[i]*SinI[i]);
//Venta del iva
b=b+(w[i]*ConI[i]);
//Venta total neta
c=c+(w[i]*pres[i]);
}
*rAIVA=a;
*rVIVA=b;
*rVTN=c;
}

CORRIDA:

Pgin
a 26
Menu de Matrices.
Lenguaje C:
#include <stdio.h>
#include <stdlib.h>

const int DIM=3;

void leer_matriz_A(int A[DIM][DIM]);

void imprimir_matriz_A(int A[DIM][DIM]);

void leer_matriz_B(int B[DIM][DIM]);

void imprimir_matriz_B(int B[DIM][DIM]);

void suma_matrices(int A[DIM][DIM],int B[DIM][DIM],int C[DIM][DIM]);

void multi_matrices(int A[DIM][DIM],int B[DIM][DIM],int C[DIM][DIM]);

void nula(int A[DIM][DIM]);

const int af, ac, bf, bc;

void suma_matrices(int A[af][ac], int B[bf][bc], int C[af][bc]);

Pgin
a 27
void leer_matriz_C(int C[af][bc]);

void leer_A_B(int A[af][ac], int B[bf][bc]);

void imprimir_A_B(int A[af][ac], int B[bf][bc]);

int main() {

system("color A0");

int A[DIM][DIM], B[DIM][DIM], C[DIM][DIM], opcion;

int A[af][ac], B[bf][bc], C[af][bc];

printf("\t\t\tMenu de Matrices\n");

printf("\tElija: 1(Suma de matrices), 2(Multiplicacion de matrices),\n\t3(Matriz


Transpuesta),\n\t4(Matriz Nula), 5(Matriz Identidad)");

printf("\n\nQue accion quiere hacer? ");

scanf("%i", opcion);

switch(opcion) {

case 1:

printf("Escogiste la Suma de Matrices\n\n");

printf("Ingrese los valores de la matriz A\n");

leer_matriz_A(A);

printf("\n\nLa matriz A queda:\n\n");

imprimir_matriz_A(A);

printf("\n\n");

printf("Ingrese los valores de la matriz B\n");

leer_matriz_B(B);

printf("\n\nLa matriz B queda:\n\n");

imprimir_matriz_B(B);

Pgin
a 28
printf("\n\nLa suma de la matriz queda:\n\n");

suma_matrices(A, B, C);

printf("\n\n\n\n");

break;

case 2:

printf("Escogiste la Multiplicacion de Matrices\n\n");

printf("Ingrese los valores de la matriz A y B\n");

printf("Numero de filas la matriz A=");

scanf("%d", &af);

printf("Numero de columnas de la matriz A=");

scanf("%d", &ac);

printf("Numero de filas de la matriz B=");

scanf("%d", &bf);

printf("Numero de columnas de la matriz B=");

scanf("%d", &bc);

if(ac!=bf) {

printf("\n\n\t\tNo es posible hacer la multiplicacion\n\n\n\n");

} else {

leer_A_B(A, B);

imprimir_A_B(A, B);

printf("\n\nLa Multiplicacion de la matriz queda:\n\n");

suma_matrices(A, B, C);

leer_matriz_C(C);

printf("\n\n\n\n");

Pgin
a 29
break;

case 3:

printf("Escogiste la Matriz transpuesta\n\n");

int matriz[MAX][MAX], col, reng, i=0, j=0;

printf("Cuantas columnas quieres ");

scanf("%d", &col);

printf("Cuantos renglones quieres ");

scanf("%d", &reng);

for(i = 0;i < reng;i++)/*RUTINA PARA LEER LOS DATOS*/

for(j = 0;j < col;j++){

printf("ESCRIBE LOS VALORES [%d][%d]==>\t", i+1, j+1);

scanf("%d", &matriz[i][j]);

printf("\n\n\t\tMatriz original");/*RUTINA PARA IMPRIMIR*/

printf("\n\n");

for(i = 0;i < reng;i++){

printf("\n\t\t");

for(j = 0;j < col;j++){

printf(" %6d ", matriz[i][j]);

printf("\n\n\t\tMatriz transpuesta");/*IMPRIMIR MATRIZ TRANSPUESTA*/

printf("\n\n");

for(i = 0;i < col;i++){

printf("\n\t\t");

Pgin
a 30
for(j = 0;j < reng;j++){

printf(" %6d ", matriz[j][i]);

printf("\n\n\n\n");

break;

case 4:

printf("Escogiste la Matriz Nula\n\n");

nula(A);

printf("\n\n\n\n");

break;

case 5:

printf("Escogiste la Matriz Identidad\n\n");

printf("\n\n\n\n");

break;

default:

printf("No elejiste opcion, vuelve a intentar de nuevo");

break;

system("PAUSE");

return 0;

Pgin
a 31
void leer_matriz_A(int A[DIM][DIM]) {

int i,j;

for (i=0;i<DIM;i++) {

printf("\nDame los %d datos de la fila %d:\n\t",DIM,i+1);

for (j=0;j<DIM;j++) {

scanf("%d",&A[i][j]);

void imprimir_matriz_A(int A[DIM][DIM]) {

int i, j;

for (i=0;i<DIM;i++) {

for (j=0;j<DIM;j++)

printf("A[%d][%d]=%d\t", i, j, A[i][j]);

printf("\n");

void leer_matriz_B(int B[DIM][DIM]) {

int i,j;

for (i=0;i<DIM;i++) {

printf("\nDame los %d datos de la fila %d:\n\t",DIM,i+1);

for (j=0;j<DIM;j++) {

scanf("%d",&B[i][j]);

Pgin
a 32
}

void imprimir_matriz_B(int B[DIM][DIM]) {

int i, j;

for (i=0;i<DIM;i++) {

for (j=0;j<DIM;j++)

printf("B[%d][%d]=%d\t", i, j, B[i][j]);

printf("\n");

//Llamada de la funcion suma de matrices

void suma_matrices (int A[DIM][DIM],int B[DIM][DIM],int C[DIM][DIM]) {

int i,j;

for (i=0;i<DIM;i++) {

for(j=0;j<DIM;j++) {

C[i][j]=A[i][j]+B[i][j];

for (i=0;i<DIM;i++) {

for (j=0;j<DIM;j++)

printf("C[%d][%d]=%d\t", i, j, C[i][j]);

printf("\n");

Pgin
a 33
//Llamada de la funcion multiplicacion de matrices

void leer_A_B(int A[af][ac], int B[bf][bc]) {

int af, ac, bf, bc, i, j;

printf("\nValores de la Matriz de A\n");

for(i=0;i<af;i++){

for(j=0;j<ac;j++){

printf("Escribe el valor de la matriz A (%d, %d)\t",i+1, j+1);

scanf("%d", &A[i][j]);

printf("\n\n");

printf("\nValores de la Matriz de A\n");

for(i=0;i<bf;i++){

for(j=0;j<bc;j++){

printf("Escribe el valor de la matriz B (%d, %d)\t", i+1, j+1);

scanf("%d", &B[i][j]);

void imprimir_A_B(int A[af][ac], int B[bf][bc]) {

int af, ac, bf, bc, i, j;

printf("\n\n\t\t\t MATRIZ A");

printf("\n");

Pgin
a 34
for(i=0;i<af;i++){

printf("\n\t\t");

for(j=0;j<ac;j++){

printf(" %6d ", A[i][j]);

printf("\n\n\t\t\t MATRIZ B");

printf("\n");

for(i=0;i<bf;i++){

printf("\n\t\t");

for(j=0;j<bc;j++){

printf(" %6d ", B[i][j]);

void suma_matrices(int A[af][ac], int B[bf][bc], int C[af][bc]) {

int af, ac, bf, bc, i, j, k;

for(i=0;i<af;i++){

for(j=0;j<bc;j++){

C[i][j]=0;

for(k=0;k<ac;k++){

C[i][j]=(C[i][j]+(A[i][k]*B[k][j]));

Pgin
a 35
}

void leer_matriz_C(int C[af][bc]) {

int af, bc, i, j;

printf("\n\n\t\tMATRIZ C (Resultante)");

printf("\n");

for(i=0;i<af;i++){

printf("\n\t\t");

for(j=0;j<bc;j++){

printf(" %6d ", C[i][j]);

//Llamada de la funcion nula

void nula(int A[DIM][DIM]) {

int i,j;

for (i=0;i<DIM;i++) {

for(j=0;j<DIM;j++)

printf("%f\t", A[i][j]*0);

printf("\n");

CONCLUSIONES:
Podemos concluir que el uso de punteros es parecido al de arreglos, solo cambia la manera de
Pgin
a 36
poner el valor de retorno en arreglos usbamos una variable donde contena los valores que iba a
retornar por referencia un ejemplo seria float A[2] y en arreglos usbamos el signo * para retornar
el valor ms un & en la llamada de la funcin dentro del main por ejemplo: mayor(a[max], lim, &R)
y para retornar el valor seria float*sR; entonces podemos concluir que es lo mismo usar arreglos
que punteros lo nico que cambia es su manera de declarar las variables.

Pgin
a 37

También podría gustarte