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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


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

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Aiuuuda con matrices en C
« en: 16 Abril 2017, 00:24 am »

Buenas tardes, tengo este problemilla: El programa -como doce abajo- debe guardar la producción de 10 plantas durante 7 días. el problema es que cuando uso matrices 4x5 , 6x7 todo bien, pero cuando ingreso la de 7 x10 booom! después de la planta #8 la suma ya no me sale...Podría alguien guiarme? por favor Cx ILÚSTRENME MAESTROS...


Código:
/* Se tiene la producción de los 7 días de la semana de 10 plantas;
elabora un programa que lea estos datos y los almacene en un arreglo
de 10 renglones para las plantas, en 7 columnas para cada día de
producción, además que imprima el número de planta que tuvo la mayor
producción de la semana*/


#include <stdio.h>
#include <stdlib.h>
#define DIAS_PRODUCCION 7
#define NUM_PLANTAS 10

int main(){

int num_planta,dia, A[NUM_PLANTAS][DIAS_PRODUCCION], sum[DIAS_PRODUCCION], suma;


for(num_planta=0;num_planta<NUM_PLANTAS;num_planta++){
printf("Planta N %d \n", num_planta+1);
for(dia=0;dia<DIAS_PRODUCCION;dia++){
printf("Dia [%d]: ", dia+1);
scanf("%d",&A[num_planta][dia]);
}

}
// Por cuestiones de impresión Cx
printf("\nN PLANTA\t");
for(dia=0; dia<DIAS_PRODUCCION; dia++)
printf("DIA %d\t", dia+1);

printf("TOTAL \n");
//SUMAR PRODUCCION
for(num_planta=0;num_planta<NUM_PLANTAS;num_planta++){
    suma=0;
    for(dia=0;dia<DIAS_PRODUCCION;dia++){
        suma=suma+(A[num_planta][dia]);
    }
    sum[num_planta]=suma;
}
// Para imprimir matriz
for(num_planta=0;num_planta<NUM_PLANTAS;num_planta++){
printf("Planta %d \t", num_planta+1);
for(dia=0;dia<DIAS_PRODUCCION;dia++){
printf(" %d \t", A[num_planta][dia]);
}
printf("%d", sum[num_planta]);
printf("\n");
}

printf("\n");
system("PAUSE");
}


//corregir


En línea

n-utz

Desconectado Desconectado

Mensajes: 165

Babylon es el vampiro!


Ver Perfil
Re: Aiuuuda con matrices en C
« Respuesta #1 en: 16 Abril 2017, 00:42 am »

Es porque el array lo declaraste mal.

Lo declaraste asi >  sum[DIAS_PRODUCCION]

Y deberia ser > sum[NUM_PLANTAS]


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Aiuuuda con matrices en C
« Respuesta #2 en: 16 Abril 2017, 00:44 am »

Tu declaras:
Código:
define DIAS_PRODUCCION 7
#define NUM_PLANTAS 10

// ...
sum[DIAS_PRODUCCION]

Pero después dices:
Código:
for(num_planta=0;num_planta<NUM_PLANTAS;num_planta++){
// ...
    sum[num_planta]=suma;

Si sum está vinculada a días de producción no deberías usarla como array de número de planta. Este error, por una parte lógico, se acrecenta cuándo el número de plantas es mayor al número de días.
En línea

Ceshi

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Aiuuuda con matrices en C
« Respuesta #3 en: 16 Abril 2017, 01:59 am »

Gracias, que pendeja CX
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
matrices en C#
Programación General
volterra 4 10,168 Último mensaje 18 Mayo 2010, 06:26 am
por Og.
matrices
Programación C/C++
aral90 2 2,223 Último mensaje 9 Diciembre 2011, 20:13 pm
por aral90
matrices
.NET (C#, VB.NET, ASP)
legomanticore 4 3,544 Último mensaje 14 Mayo 2012, 03:02 am
por $Edu$
matrices en c
Programación C/C++
ALONSOQ 9 4,748 Último mensaje 27 Junio 2012, 05:15 am
por twins
matrices
Programación C/C++
lorderick 3 3,050 Último mensaje 8 Septiembre 2012, 05:12 am
por CSQCasimiro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines