Título: Recorrer Matriz y vector en C#
Publicado por: dnxs en 13 Septiembre 2015, 21:20 pm
buenas que tal, tenia una duda con un ejercicio en el cual ingreso una matriz de m(filas) x n(columnas) y después la recorro, cuento la cantidad de ceros de cada columna y los guardo en otro vector paralelo. Si la cantidad de ceros de una columna es mayor o igual a 2 guardar y mostrar en el vector la cantidad de ceros que hay en esa columna y si es menor a 2 mostrar solamente 0. se entiende :huh:?? por favor que alguien me oriente lo mejor posible, gracias!
El codigo lo tengo en c# pero si me explican en java o en c++ o con el algoritmo es suficiente. Saludos!
Título: Re: Recorrer Matriz y vector en C#
Publicado por: seryioo en 13 Septiembre 2015, 22:17 pm
Buenas, normalmente soy yo el que pregunto. Pero gracias a este foro he conseguido aprobar Programación I en la universidad así que te contesto cómo sería el algoritmo. Voy a tratar de hacer un pseudocódigo: //para recorrer la matriz empiezas en la fila cero y compruebas todas las columnas de la fila cero, se incrementa fila, se vuelven a comprobar las columnas... Teniendo encuenta las dimensiones de la matriz for(int f=0; f<nFilas; ++f){ for(int c=0; c<nColumnas; ++c){ if(matriz[f][c]==0){ //Guardar en vector[columna] un cero e incrementar a la siguiente posicion. } } } //al final haces una comprobación y recorres el vector para ver la cantidad de ceros guardada y dependiendo de eso muestras lo que quieras en pantalla
Título: Re: Recorrer Matriz y vector en C#
Publicado por: DarK_FirefoX en 14 Septiembre 2015, 17:35 pm
El codigo lo tengo en c# pero si me explican en java o en c++ o con el algoritmo es suficiente.
¿Dónde está? Ahora, lo que haría fuera lo siguiente: int mRows = 10; //Cantidad de filas int nColumns = 10; //Cantidad de columnas //Inicializas la matriz int[, ] matrix = new int[mRows, nColumns ]; //Inicializas el vector con el tamaño igual a la cantidad de columnas int[] vector = new int[nColumns ]; for(int iColumn = 0; iColumn < matrix.GetLength(1); iColumn++) { int jCounter = 0; //Para contar la cantidad de ceros en la columna for(int jRow = 0; jRow < matrix.GetLength(0); jRow++) { //Si el valor de la matriz en esa posición es igual a 0, entonces incrementamos if(matrix[jRow, iColumn] == 0) jCounter++; } //Si el la cantidad de 0 en esa columna es mayor o igual a 2, entonces //guardamos ese valor if(jCounter >= 2) vector[iColumn] = jCounter; //Cada posición del vector representa una //columna, su valor representa la cantidad de 0 (de acuerdo a la orden //del ejercicio } //Devuelves el vector o lo recorres y lo muestras, depende de lo que //quieras hacer
Espero hayas entendido, así lo haría yo! Cualquier cosa pregunta! Salu2s
|