Problemas con Arreglos (Ayuda)
Publicado por Nicole (7 intervenciones) el 08/09/2020 14:24:58
Estoy elaborando un programa que mande a almacenar en un arreglo 9 elementos de tipo entero, donde estoy teniendo problemas es en la parte que me pide almacenar primeramente las posiciones pares del arreglo en la matriz.
Ejemplo: (Los datos ingresados deben guardarse en esas posiciones en la matriz)
0 2 4
6 8 1
3 5 7
Y así es como llevo el código hasta el momento(La parte de las posiciones la tengo mala en el código).
Ejemplo: (Los datos ingresados deben guardarse en esas posiciones en la matriz)
0 2 4
6 8 1
3 5 7
Y así es como llevo el código hasta el momento(La parte de las posiciones la tengo mala en el código).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#define tam 3
bool existe(int a[9], int valor); //Prototipo de la funcion
int main() {
system("color 0E");
//Aquí declaramos las variables
int Arreglo[9];
int Matriz [tam][tam];
int i=0, f, c, x;
int suma=0;
//Mandamos a pantalla
printf("--------------------------------------------------- \n");
printf("Programa que muestra un Arreglo de 9 elementos");
printf("\n\n");
//Solicitamos al usuario que ingrese datos al Arreglo
int valInput;
x=0;
while(x<9){
printf("\n Por favor ingrese valor al Arreglo %i: ",x+1);
scanf("%i",&valInput);
bool encontrado=existe(Arreglo,valInput);
if(!encontrado) {
Arreglo[x]=valInput;
x++;
} else {
printf("\n *** El valor %i ya fue ingresado. ***\n",valInput);
}
}
//Mandamos a imprimir los datos del Arreglo
printf("\n Los elementos del arreglo son: \n");
for(x=0; x<9; x++) {
printf(" %i \t",Arreglo[x]);
}
printf("\n\n");
//Ingresamos los datos del Arreglo a la Matriz
for(f=0; f<tam; f++) {
for(c=0; c<tam; c++) {
Matriz[f][c] = Arreglo[i];
i++;
}
}
//Imprimimos los datos almacenados del Arreglo en la Matriz
for(f=0; f<tam; f++) {
//Sumamos las columnas de la Matriz
suma=0;
for(c=0; c<tam; c++){
suma = suma + Matriz[f][c];
printf("\t %i",Matriz[f][c]);
}
//Imprimimos en pantalla la suma de las filas
printf(" | %i",suma);
printf("\n");
}
//Mandamos a Pantalla
printf("\t --- --- ---\n");
//Sumamos las columnas de la Matriz
for(c=0; c<tam; c++) {
suma = 0;
for(f=0; f<tam; f++)
suma = suma + Matriz[f][c];
printf("\t %i ",suma);
}
//Imprimimos los datos en las posiciones pares de la Matriz
printf("\n Los elementos en las posiciones pares de la matriz");
for(f=0; f<tam; f++) {
bool filaPar;
bool colmPar;
filaPar = ((f%2)==0); //Calcula si el indice de la fila es par
for(c=0; c<tam; c++){
colmPar=((c%2)==0); //Calcula si el indice de la columna es par
if(filaPar && colmPar) {
//Imprime el elemento de la matriz si tanto la fila como la columna son pares
printf("\n[%i][%i] : %i",f,c,Matriz[f][c]);
}
}
}
getch();
return 0;
}
//Funcion que determina si el valor ya existe en el arreglo
bool existe(int a[9], int valor){
bool ret=false;
int i=0;
while( i<9 && !ret) {
if(a[i]==valor) ret=true;
i++;
}
return ret;
}
Valora esta pregunta


0