Sunteți pe pagina 1din 4

1

2
3
4 Univ Pamplona Asignatura: Programación II (Grupo: DR). Parcial No 2 – Valor 20%
5 Fecha:___/___/______

6 Apellidos:______________________ Nombres:____________________ CC:_____________________


7 Instrucciones: Por favor leer el siguiente problema con mucho detenimiento y desarrolle
8 la solución en forma ordenada (Estructurada) usando Arreglos y el Lenguaje C, para
9 ello dispone de un tiempo no mayor de 90 minutos. Además, la solución debe construirla
10 en su respectiva hoja de examen sin usar ningún material de apoyo.
11
12 Finalmente, el análisis y desarrollo del problema es parte de la evaluación, por lo
13 tanto NO SE LEVANTE A REALIZAR PREGUNTAS.
14
15 //Se desea lee una Matriz de orden N y K, para realizar las siguientes
16 //actividades:
17 //1.- Mover los datos pares de la matriz a un vector1
18 //2.- Mover los datos impares de la matriz a un vector2
19 //3.- Imprimir la Matriz y los vectores
20 //4.- Ordenar el vector1 ( de menor a mayor)
21 //5.- Ordenar el vector2 ( de menor a mayor)
22 //6.- Imprimir los dos vectores ordenados
23
24
25
26
27
28
29 Univ Pamplona Asignatura: Programación II (Grupo: DR). Parcial No 2 – Valor 20%
30 Fecha:___/___/______

31 Apellidos:______________________ Nombres:____________________ CC:_____________________


32 Instrucciones: Por favor leer el siguiente problema con mucho detenimiento y desarrolle
33 la solución en forma ordenada (Estructurada) usando Arreglos y el Lenguaje C, para
34 ello dispone de un tiempo no mayor de 90 minutos. Además, la solución debe construirla
35 en su respectiva hoja de examen sin usar ningún material de apoyo.
36
37 Finalmente, el análisis y desarrollo del problema es parte de la evaluación, por lo
38 tanto NO SE LEVANTE A REALIZAR PREGUNTAS.
39
40 //Se desea lee una Matriz de orden N y K, para realizar las siguientes
41 //actividades:
42 //1.- Mover los datos pares de la matriz a un vector1
43 //2.- Mover los datos impares de la matriz a un vector2
44 //3.- Imprimir la Matriz y los vectores
45 //4.- Ordenar el vector1 ( de menor a mayor)
46 //5.- Ordenar el vector2 ( de menor a mayor)
47 //6.- Imprimir los dos vectores ordenados
48
49
50
51
52
53
Página 1 de 4 - Wednesday, 09 de May de 2018 - 8:32 AM
54
55 #include<stdio.h>
56 #include<stdlib.h>
57 #include<string.h>
58 #include<windows.h>
59
60 int matriz[3][3],v1[16],v2[16];
61 int nf,nc,i,j,k,f,c,np,nip,totalpos;
62
63 void gotoxy(int x, int y){
64 HANDLE hcon;
65 hcon = GetStdHandle(STD_OUTPUT_HANDLE);
66
67 COORD dwPos;
68 dwPos.X=x;
69 dwPos.Y=y;
70
71 SetConsoleCursorPosition(hcon,dwPos);
72 }
73
74 void pimprimirvectores(int totalpos, int vector1[16], int vector2[16]){
75 int i,f,c;
76 system("cls") ;
77 f=1; c=5;
78 gotoxy(c,f); printf("*** Vectores ***");
79 f=f+1;
80 gotoxy(00,f); printf("No");
81 gotoxy(05,f); printf("V1");
82 gotoxy(10,f); printf("V2");
83
84 for(i=0;i<=totalpos;i++){
85 f=f+1;
86 gotoxy(00,f); printf("%d",i);
87 gotoxy(05,f); printf("%d",vector1[i]);
88 gotoxy(10,f); printf("%d",vector2[i]);
89 }
90 printf("\n\n");
91 system("pause");
92 }
93
94
95 void pordenar(int n,int vector[16]){
96 int i,j,aux;
97 for(i=0;i<=n-1;i++){
98 for(j=i+1;j<=n;j++){
99 if(vector[j]<vector[i]){
100 aux=vector[j];
101 vector[j]=vector[i];
102 vector[i]=aux;
103 }
104 }
105 }
106 }
107
108
Página 2 de 4 - Wednesday, 09 de May de 2018 - 8:32 AM
109
110 int main(){
111 system("cls");
112 //Leer la cantidad de Filas y columnas
113 do{
114 printf("\nIng. Total de filas--->");
115 scanf("%d",&nf);
116 }while(!(nf>=0 && nf<=3));
117
118 do{
119 printf("\nIng. Total de columnas--->");
120 scanf("%d",&nc);
121 }while(!(nc>=0 && nc<=3));
122
123
124 //Lectura de la Matriz
125 system("cls");
126 f=1; c=15;
127 gotoxy(c,f); printf("*** Lectura de la Matriz ****");
128 f=f+1; c=10;
129 for(i=0;i<=nc;i++){
130 gotoxy(c,f); printf("%d",i) ;
131 c=c+5;
132 }
133
134 //Lectura de la matriz
135 for(i=0;i<=nf;i++){
136 f=f+1; c=0;
137 gotoxy(c,f); printf("F(%d)-->",i);
138 c=10;
139 for(j=0;j<=nc;j++) {
140 gotoxy(c,f);
141 scanf("%d",&matriz[i][j]);
142 c=c+5;
143 }
144 }
145
146 //Mover los datos a los vectores
147 np=nip=0;
148 for(i=0;i<=nf;i++){
149 for(j=0;j<=nc;j++) {
150 if(matriz[i][j]%2==0){
151 v1[np]=matriz[i][j];
152 np=np+1;
153 }else{
154 v2[nip]=matriz[i][j];
155 nip=nip+1;
156 }
157 }
158 }
159 np=np-1;
160 nip=nip-1;
161
162
163
Página 3 de 4 - Wednesday, 09 de May de 2018 - 8:32 AM
164
165 //Impresión de la matriz
166 system("cls");
167 f=1; c=10;
168 gotoxy(c,f); printf("*** la Matriz ****");
169 f=f+1;
170 for(i=0;i<=nc;i++){
171 gotoxy(c,f); printf("%d",i) ;
172 c=c+5;
173 }
174 for(i=0;i<=nf;i++){
175 f=f+1; c=0;
176 gotoxy(c,f); printf("F(%d)-->",i);
177 c=10;
178 for(j=0;j<=nc;j++) {
179
180 gotoxy(c,f);
181 printf("%d",matriz[i][j]);
182 c=c+5;
183 }
184 }
185 printf("\n\n");
186 system("pause");
187
188 //Impresión de los vectores
189 if(np>nip){
190 totalpos=np;
191 }else{
192 totalpos=nip;
193 }
194 pimprimirvectores(totalpos, v1, v2);
195
196 pordenar(np,v1);
197 pordenar(nip,v2);
198
199 pimprimirvectores(totalpos, v1, v2);
200
201 printf("\n\n");
202 system("pause");
203 return 0;
204
205
206 }

Página 4 de 4 - Wednesday, 09 de May de 2018 - 8:32 AM