
Error en programa "basico"
Publicado por Adrian (7 intervenciones) el 22/06/2016 20:01:18
Buenas tardes, estoy empezando con C y estoy siguiendo un curso de youtube, en un ejercicio concreto he realizado el codigo que se pide, y despues comparando con el video lo tengo identico, pero me tira un error al ejecutar en la consola, el codigo es este
(El depurador me dice que el error salta en el bucle de impreson del vecotor redimensionado, pero no se por que, en el da un error de segmentacion)
Gracias
(El depurador me dice que el error salta en el bucle de impreson del vecotor redimensionado, pero no se por que, en el da un error de segmentacion)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void aleatorio (int *vector, int N);
int main(){
int i, j, k;
int N = 10;
int *vector;
vector =(int*)malloc(N*sizeof(int)); //asigna un tamaño al vector dinamico
if(vector == NULL){
printf("No se ha podido reservar espacio de memoria para el vector-\n");
}
else{
aleatorio(vector, N);
for(i=0; i<N; i++){
j=i+1;
while(j<N){
if((vector+1)==(vector+j)){
for(k = j; k+1<N; k++){
(vector+k)=(vector+k+1);
}
N--;
}
else{
j++;
}
}
}
vector=(int*)realloc(vector,N*sizeof(int)); //Redimensiona el vector, conservando sus valores
if(vector=NULL){
printf("No se ha podido reservar espacio de memoria para el vector");
}
else{
for(i=0; i<N; i++){
printf("%i, ",*(vector+i));
}
printf("\n");
}
}
system("pause");
return 0;
}
void aleatorio (int *vector, int N){
int i;
srand(time(NULL));
for(i=0; i<N; i++){
*(vector+i)=rand() % 3;
printf("%i, ",*(vector+i));
}
printf("\n");
}
Gracias
Valora esta pregunta


0