elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con función de array de 2 dimensiones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con función de array de 2 dimensiones  (Leído 2,321 veces)
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Problema con función de array de 2 dimensiones
« en: 26 Mayo 2012, 03:58 am »

Tengo el siguiente código programo en Devc++ y es C

Código:
#include <stdio.h>
#include <stdlib.h>
 
int posicionarBloques(int **bloques, int largo) {//Función que ordena cada dato de la fila de mayor a menor

    int i = 1, aux=0, j=0;
    
    while(j < largo){    
    while (i < 3){
          if(aux > bloques[j][i]){
             i++;      
          }
          if(aux < bloques[j][i]){
                  bloques[j][0]=  bloques[j][i];
                  bloques[j][i] = aux;
                  aux=bloques[j][0];
                  i=1;    
          }    
    }
    j++;
    }
 return **bloques;          
            
}
 
void lectura(){//Funcion que lee el TXT y lo pasa a un arreglo
    
   FILE *archivo = fopen("prueba.txt", "r");
   int medidas;
   int lectura;
   int largo;
   int bloques[30][3];
   int aux=0,aux2=0,i=0,j=0;

   if (!archivo)
      printf("\nNo Se Pudo Leer Correctamente El Archivo...");
   else{
        while(i<30){//Inicializo la matriz con 0
             while(j<3){              
                   bloques[i][j]=0;  
                   j++;          
             }
             j=0;
             i++;
        }
        while (fscanf(archivo, "%i", &lectura) == 1){ //Leo los datos y los guardo
               if (lectura > 0){
                   largo = lectura;
                   while(largo > aux){
                     while (aux2 < 3){  
                           fscanf(archivo, "%i", &medidas);
                           bloques[aux][aux2] = medidas;      
                           aux2++;  
                     }  
                     aux++;aux2=0;
                  }
              }
      }
   **bloques =  posicionarBloques(bloques, largo); //Posible error    
   fclose(archivo);
   getch();
   }
}
  
int main()
{
        lectura();
        return 0;
}





Tengo un txt con esta info

2
10 20 30
5 9 15
0



el 2 representa el largo del arreglo
las siguientes dos lineas son los datos
y el 0 es para advertir que terminan los datos

leo los datos y los guardo correctamente, pero al mandarlos a la funcion que los ordena se me cae, y creo que es por que estoy pasando mal la matriz.... como deberia pasar como parametro la matriz para trabajarla bien???


« Última modificación: 26 Mayo 2012, 04:06 am por ZedGe » En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Problema con función de array de 2 dimensiones
« Respuesta #1 en: 26 Mayo 2012, 18:58 pm »

tenia que recibirlo como

int bloques[30][3] en la función posicionar


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programacio lisp de funcion que pasa un array a lista
Ejercicios
indiabat 0 3,636 Último mensaje 18 Diciembre 2005, 20:53 pm
por indiabat
donde pongo la funcion array para q jale el mod_rewrite
PHP
JAJAcker 1 1,482 Último mensaje 21 Mayo 2007, 09:30 am
por dominioswww
Función que devuelva un array (javascript)
Desarrollo Web
Fox_Neo 5 18,453 Último mensaje 13 Diciembre 2010, 15:31 pm
por Fox_Neo
Pasar un array por una función
PHP
dimitrix 8 4,476 Último mensaje 19 Junio 2011, 22:47 pm
por cassiani
No puedo asignar un char a un array de dos dimensiones
Programación C/C++
SCUMM 5 3,350 Último mensaje 12 Febrero 2014, 16:24 pm
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines