Ayuda con codigo C

Iniciado por NicolasPileci, 17 Agosto 2016, 21:37 PM

0 Miembros y 1 Visitante están viendo este tema.

NicolasPileci

Hola, buenos dias,

Tengo un problema con el siguiente codigo:

void IngresoDatos (int [5][3], int, int);

.
.
.

void IngresoDatos (int M[5][3], int F, int C)
{
   int i, j;
   for(i=0;i<=F;i++)
   {
      for(j=0;j<=C;i++)
      {
         printf("\nIngrese numero: \n\n");
         scanf("%d",&M[j]);
      }
   }
}


El problema esta en que en vez de ingresar 15 elementos (5x3) ingresan 25.

Gracias!

AlbertoBSD

Cambia el "menor o Igual que" por solo "Menor que"

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

NicolasPileci

Gracias por tu respuesta, pero aun sigue sin funcionar.

Saludos!

AlbertoBSD

Y que parte de tu código no funciona?

Tal vez lo estas invocando mal.

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

NicolasPileci

Hola!

#include <stdio.h>
void IngresoDatos (int [5][3], int, int);

int main()
{
   int M[5][3];
   ingresodatos(M, 4, 2)
   return 0;
}

void IngresoDatos (int M[5][3], int F, int C)
{
   int i, j;
   for(i=0;i<=F;i++)
   {
      for(j=0;j<=C;i++)
      {
         printf("\nIngrese numero: \n\n");
         scanf("%d",&M[j]);
      }
   }
}

AlbertoBSD

#5
Cita de: AlbertoBSD en 17 Agosto 2016, 21:42 PM
Cambia el "menor o Igual que" por solo "Menor que"

Ya te lo habia dicho y no hicistes los cambios que te comente.

Tambien tienes problemas para acceder a los elementos, estas leyendo asi:

scanf("%d",&M[j]);

y deberia de ser:

scanf("%d",&M[i][j]);

Asi debe de ser con eso lee 15 elementos


#include <stdio.h>
void IngresoDatos (int [5][3], int, int);

int main()
{
int M[5][3];
ingresodatos(M, 5, 3)
return 0;
}

void IngresoDatos (int M[5][3], int F, int C)
{
int i, j;
for(i=0;i<F;i++)
{
for(j=0;j<C;i++)
{
printf("\nIngrese numero: \n\n");
scanf("%d",&M[i][j]);
}
}
}


Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

T. Collins

#6
Aparte del &M[i][j] que te ha comentado AlbertoBSD, el problema está aquí:

for(j=0;j<C;i++)

Debería ser j++ no i++, si no incrementas j nunca, se queda en un bucle infinito.

NicolasPileci