Está en la página 1de 3

1 //pvector01_procedure.

c---> Programa Vector01 con Procedimiento


2 //se desea cargar un vector con n posiciones con valores
3 //enteros positivos sin que se repitan los datos,
4 //para generar dos reportes así:
5 // *** Reporte de Datos ***
6 // No Vector
7 // 0............ XX
8 // 1............ XX
9 // 2............ XX
10 // 3...................
11 // -------------------------
12 // Totales---> XX
13 // Promedio--> xx.xx
14 //
15 //El primer reporte es con los datos recién capturados y el segundo con los datos ordenados
16
17 #include<stdio.h>
18 #include<stdlib.h>
19 #include<conio.h>
20 #include<string.h>
21
22 int vector[10],n,i,k,enc,aux1;
23
24 //Procedimiento para imprimir
25 void pimprimir(int v[10], int posiciones){
26 int i,a=0;
27 float p;
28 printf("\n \t\t*** Reporte de datos ***");
29 printf("\n No \t\t Vector");
30 for(i=0;i<=posiciones;i++){
31 printf("\n%d \t\t%d ",i,v[i]);
32 a=a+v[i];
33 }
34 posiciones=posiciones+1;
35 p=(float)a/(float)posiciones;
36 printf("\n------------------------");
37 printf("\nTotal-------->%d",a);
38 printf("\nPromedio----->%5.2f",p);
39 printf("\n\n");
40 system("pause");
41
42 } // Fin del procedimiento para imprimir
43
Página 1 de 3 - Miércoles, 05 de Septiembre de 2018 - 11:21 a.m.
Sergio Capacho--pvector01_procedure.c
44
45 //Inicio del bloque principal
46 int main(){
47 system("cls");
48 do{
49 printf("\n Ing. Total de datos[0..9]--->");
50 scanf("%d",&n);
51 }while(!(n>=0 && n<=9));
52
53 //Ciclo de lectura y cálculo de datos
54 for(i=0;i<=n;i++){
55 //Lectura y validación que no se repitan
56 do{
57 do{
58 printf("\nVector[%d]--->",i);
59 scanf("%d",&vector[i]);
60 }while(vector[i]<1);
61 enc=0;
62 for(k=0;k<=i-1 && enc==0;k++){
63 if(vector[i]==vector[k]){
64 enc=1;
65 printf("*** Error ***\n\n");
66 }
67 }
68 }while(enc==1);
69 } // Fin del ciclo de lectura
70
71
72 //Invocación a la invocación del procedimiento Imprimir-- salida antes de ordenar
73 pimprimir(vector, n);
74
75 //El Método de la burbuja
76 for(i=0;i<=n-1;i++){
77 for(k=i+1;k<=n;k++){
78 if(vector[k]<vector[i]){
79 aux1=vector[k];
80 vector[k]=vector[i];
81 vector[i]=aux1;
82 }
83 }
84 }//Fin del método de la burbuja
85
Página 2 de 3 - Miércoles, 05 de Septiembre de 2018 - 11:21 a.m.
Sergio Capacho--pvector01_procedure.c
86
87 //Invocación a la invocación del procedimiento Imprimir--Salida con datos ordenados
88 pimprimir(vector, n);
89
90 printf("\n\n");
91 printf("*** Presione Enter para terminar ***");
92 system("pause");
93 return 0;
94 } // Fin del Bloque principal

Página 3 de 3 - Miércoles, 05 de Septiembre de 2018 - 11:21 a.m.


Sergio Capacho--pvector01_procedure.c

También podría gustarte