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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Variable Corrupta
« en: 20 Mayo 2015, 14:28 pm »

Tengo un problema, que me hace lo que quiero, pero tras hacer la ejecución me marca un error que la variable "mat" esta corrupta, alguien me puede explicar porque. MUCHAS GRACIAS ANTES DE QUE RESPONDAN.

Código:
struct vec3{
float x;
float y;
float z;
};

typedef float mat[8];

void InitVec3(vec3 *v, int x,int y){
(*v).x = x;
(*v).y = y;
(*v).z = 0;
}
void InitMat3(mat m, float x0, float x1, float x2, float x3, float x4, float x5, float x6, float x7, float x8){
m[0] = x0; m[1] = x1; m[2] = x2;
m[3] = x3; m[4] = x4; m[5] = x5;
m[6] = x6; m[7] = x7; m[8] = x8;
}
void VaciarMat3(mat m){
m[0] = 0; m[1] = 0; m[2] = 0;
m[3] = 0; m[4] = 0; m[5] = 0;
m[6] = 0; m[7] = 0; m[8] = 0;
}

void SubstractVec3(vec3 v, vec3 u, vec3 *vec){
(*vec).x = v.x - u.x; (*vec).y = v.y - u.y; (*vec).z = 0.0;
}
void AddVec3(vec3 v, vec3 u, vec3 *vec){
(*vec).x = v.x + u.x; (*vec).y = v.y + u.y;
}

int ESAT::main(int, char **){
mat matriz;
vec3 vec;
vec3 vec2;
InitVec3(&vec, 12, 10);
InitVec3(&vec2, 10, 5);
AddVec3(vec, vec2, &vec);
InitMat3(matriz,1,1,1,2,2,2,0,0,0);
VaciarMat3(matriz);
ESAT::WindowInit(800, 600);
while (ESAT::WindowIsOpened() && !ESAT::IsSpecialKeyDown(ESAT::kSpecialKey_Escape)){
ESAT::DrawClear(0, 0, 0);
ESAT::DrawSetStrokeColor(255, 255, 255, 255);
ESAT::WindowFrame();
}
ESAT::WindowDestroy();
return 0;
}





En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Variable Corrupta
« Respuesta #1 en: 1 Junio 2015, 17:59 pm »

En C++ cuando declaras un array indicas su numero de elementos N y después accedes a estos utilizando los indices 0 .. N-1.

En tu caso el error se debe a que tratas de acceder al array como si este consistiera de nueve elementos cuando en realidad solo tiene ocho:
Código
  1. typedef float mat[8]; // array de 8 elementos, indices validos 0 .. 7

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] Pelicula corrupta Songoku
Multimedia
jesus091 2 1,907 Último mensaje 7 Febrero 2006, 05:33 am
por jesus091
Imagen jpg corrupta o dañada ayuda =S
Diseño Gráfico
washandwear 9 43,091 Último mensaje 14 Agosto 2007, 05:11 am
por FREDYGOMEZ
Particion corrupta Asus pc 1005p
Windows
Rastafree 1 3,400 Último mensaje 18 Octubre 2010, 19:48 pm
por Randomize
La justicia sitúa a Mediapro en una trama corrupta y criminal en EEUU
Noticias
El_Andaluz 0 1,450 Último mensaje 11 Abril 2020, 23:02 pm
por El_Andaluz
Foto Corrupta sin poder visualizar .
Diseño Gráfico
juanaarco 7 95,875 Último mensaje 15 Septiembre 2023, 08:40 am
por ramzano33
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines