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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Que es lo que esta mal? Ayuda!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Que es lo que esta mal? Ayuda!!!  (Leído 2,345 veces)
cinfi

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Que es lo que esta mal? Ayuda!!!
« en: 6 Febrero 2016, 23:17 pm »

Cual es el error? no compila  :(
#include <stdio.h>

int main()
{
    int a[6][4], vecrenglon[6]={0}, veccolumna[4]={0};
    int i,j;
  
       for(i=0;i<6;i++){
          for(j=0;j<4;j++){
                printf("Ingresa cada valor de la matriz %d,%d: ",i+1,j+1);
                scanf("%d", &a[j]);
          }
    }
    printf("\nMatriz final:\n\n");
    //Ciclo de impresion de la matriz dada
     for(i=0;i<6;i++){
           for(j=0;j<4;j++){
                 printf("%d\t",a[j]);
           }
           printf("\n");
     }
    //calcular la suma de cada renglon y guardar en el arreglo renglon
    for(i=0;i<6;i++){
          for(j=0;j<4;j++)
                vecrenglon=vecrenglon+a[j];
    }
    //Calcular la suma de cada columna y guardar en el arreglo veccolunma
    for(j=0;j<4;j++){
          for(i=0;i<6;i++)
                veccolumna[j]=veccolumna[j]+a[j];
    }
    printf("\n\nVector renglones = (");
    //Ciclo para impresion de vecrenglon[6]
    for(i=0;i<6;i++){
          printf("%d", vecrenglon);
          if(i!=5)
                printf(", ");
    }
    printf(")\n");
    printf("Vector columnas = (");
    //Ciclo para la impresion de veccolumna[4]
    for(i=0;i<4;i++){
          printf("%d", veccolumna);
          if(i!=3)
                printf(", ");
    }
    printf(")\n\n");
    system("pause");
    return 0;
}


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Que es lo que esta mal? Ayuda!!!
« Respuesta #1 en: 6 Febrero 2016, 23:23 pm »

Pues que tratas una tabla como un array unidimensional y que tratas un array unidimensional como un valor escalar.


En línea

cinfi

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Que es lo que esta mal? Ayuda!!!
« Respuesta #2 en: 6 Febrero 2016, 23:29 pm »

El problema es al tener una matriz de 6x4 sumar renglones y columnas y obtener el valor en un vector.
En línea

etcheverrypablol

Desconectado Desconectado

Mensajes: 37


¡Hoy mejor que ayer, mañana mejor que hoy!


Ver Perfil
Re: Que es lo que esta mal? Ayuda!!!
« Respuesta #3 en: 7 Febrero 2016, 02:02 am »

Hola cinfi.

Observando tu código, deduzco que lo que quieres hacer es cargar una matriz de 4x6 con el primer ciclo for y con el segundo mostrarla. Pues, compilando únicamente esa parte del programa, te encontrarás que esas líneas no hacen eso.

Observa el siquiente código:

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.    int a[4][6], vecrenglon[6]={0}, veccolumna[4]={0};
  5.    int i,j;
  6.  
  7.    for(i=0;i<4;i++){
  8.       for(j=0;j<6;j++){
  9.          printf("Ingresa cada valor de la matriz %d,%d: ",i+1,j+1);
  10.          scanf("%d", &a[i][j]);
  11.       }
  12.    }
  13.    printf("\nMatriz final:\n\n");
  14.    //Ciclo de impresion de la matriz dada
  15.     for(i=0;i<4;i++){
  16.           for(j=0;j<6;j++){
  17.                 printf("%d\t",a[i][j]);
  18.           }
  19.           printf("\n");
  20.     }
  21.     system("pause");
  22.    return 0;
  23. }

Por un lado, verás que en los primeros dos ciclos for anidados, el primero se utiliza para moverse en las columnas (de arriba para abajo). Al ejecutarse una sola vez este for, abrás cargado 1 renglón. El segundo for hace referencia a las columnas.

Por otro lado, observa que al momento de leer, yo he utilizado las dos variables: i y j.En tu caso, vos sólo utilizaste la j.

Como ejemplo te muestro la siguiente ejecución de esa parte del código:

Ingresa cada valor de la matriz 1,1: 1
Ingresa cada valor de la matriz 1,2: 1
Ingresa cada valor de la matriz 1,3: 1
Ingresa cada valor de la matriz 1,4: 1
Ingresa cada valor de la matriz 1,5: 1
Ingresa cada valor de la matriz 1,6: 1
Ingresa cada valor de la matriz 2,1: 2
Ingresa cada valor de la matriz 2,2: 2
Ingresa cada valor de la matriz 2,3: 2
Ingresa cada valor de la matriz 2,4: 2
Ingresa cada valor de la matriz 2,5: 2
Ingresa cada valor de la matriz 2,6: 2
Ingresa cada valor de la matriz 3,1: 3
Ingresa cada valor de la matriz 3,2: 3
Ingresa cada valor de la matriz 3,3: 3
Ingresa cada valor de la matriz 3,4: 3
Ingresa cada valor de la matriz 3,5: 3
Ingresa cada valor de la matriz 3,6: 3
Ingresa cada valor de la matriz 4,1: 4
Ingresa cada valor de la matriz 4,2: 4
Ingresa cada valor de la matriz 4,3: 4
Ingresa cada valor de la matriz 4,4: 4
Ingresa cada valor de la matriz 4,5: 4
Ingresa cada valor de la matriz 4,6: 4

Matriz final:

1       1       1       1       1       1
2       2       2       2       2       2
3       3       3       3       3       3
4       4       4       4       4       4
Presione una tecla para continuar . . .

Tienes que entender bien esta parte antes de continuar.
Saludos
En línea

cinfi

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Que es lo que esta mal? Ayuda!!!
« Respuesta #4 en: 7 Febrero 2016, 02:43 am »

El error que me marcaba era en el system("pause"); y en el retorn 0;
Entiendo lo que me dices y muchas gracias. checare ambas estructuras ya que la tuya es mas pequeña y podría ahorrar línea de código.

Me gustaría ver si tuvieras alguno que resuelva transpuesta de matiz, te lo agradeceria.
Saludos
En línea

_--ziarox--__

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Que es lo que esta mal? Ayuda!!!
« Respuesta #5 en: 7 Febrero 2016, 19:01 pm »

este es el codigo para la transpuesta

Código:
#include <stdio.h> 
void llenado(int n, int m, int matriz[n][m], int matriz2[m][n]);
void imprimir(int n, int m, int matriz[n][m]);
void transpuesta(int n, int m, int matriz2[m][n]);
int main()

   {
int n,m;

printf("Dame el numero de filas: ");
scanf("%d",&n);
printf("Dame el numero de columnas: ");
scanf("%d",&m);
int matriz[n][m];
int matriz2[m][n];
llenado(n,m,matriz,matriz2);
printf("\nMATRIZ\n");
imprimir(n, m, matriz);
printf("\nMATRIZ TRANSPUESTA\n");
transpuesta(n, m, matriz2);
return 0;
   }
void llenado(int n, int m, int matriz[n][m], int matriz2[m][n])
   {
int i,j;
for(i=0;i<n;i++)
   for(j=0;j<m;j++)
{
   printf("Dame el valor de %d %d:",i+1,j+1);
   scanf("%d",&matriz[i][j]);
   matriz2[j][i]=matriz[i][j];
}
   }
void imprimir(int n, int m, int matriz[n][m])
   {
int i, j;
for(i=0;i<n;i++)
   {
for(j=0;j<m;j++)
   {
printf("%d ", matriz[i][j]);
   }
printf("\n");
   }
   }
void transpuesta(int n, int m, int matriz2[m][n])
   {
int i,j;
for(i=0;i<m;i++)
   {
for(j=0;j<n;j++)
   {
printf("%d ", matriz2[i][j]);
   }
printf("\n");
   }
   }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON ESTA FUENTE
Diseño Gráfico
lucaprodan 2 2,423 Último mensaje 12 Abril 2007, 06:59 am
por DelmasX
Esta PC está bien? | AYUDA CON UN HACKER MALICIOSO « 1 2 »
Seguridad
Chuxxx 10 11,402 Último mensaje 14 Mayo 2010, 19:43 pm
por Chuxxx
[TCL] Ayuda con esta novatada...
Scripting
Eleкtro 0 1,677 Último mensaje 13 Septiembre 2012, 07:36 am
por Eleкtro
Ayuda con esta .dll
Ingeniería Inversa
juanba17 1 1,693 Último mensaje 9 Agosto 2015, 16:08 pm
por MCKSys Argentina
Ayuda, que esta mal ?
Programación C/C++
onlinne 3 1,520 Último mensaje 6 Noviembre 2016, 23:29 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines