Viernes 8 de Noviembre de 2024, 17:33
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Necesito Ayuda Para Pillar Un Error
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Necesito Ayuda Para Pillar Un Error (Leído 1585 veces)
asmodeous
Nuevo Miembro
Mensajes: 5
Necesito Ayuda Para Pillar Un Error
«
en:
Martes 8 de Mayo de 2007, 22:16 »
0
Hola tengo un problema con el siguiente codigo que hice.
se supone que crea un vector de n numeros y luego lo copia a un auxiliar, pero algo falla al ser el n mayor que 10..
alguien podria ayudarme porfa??
Código: Text
#include <stdio.h>
#include <stdlib.h>
int llenar(int v1[],int v2[],int n){
int i;
for (i=0;i<n;i++)
v1[i]=rand()%100;
for (i=0;i<n;i++)
v2[i]=v1[i];
}
int mostrar(int v1[],int v2[], int n){
int i;
for(i=0;i<n;i++){
printf("%i\t",v1[i]);
printf("%i\n",v2[i]);
}
}
int main (int n){
int v1[n], v2[n];
printf("Ingrese el largo del vector\n");
scanf("%d",&n);
llenar (v1,v2,n);
mostrar(v1,v2,n);
system("pause");
return 0;
}
Tweet
"In a world without fences and walls, who need GATES and WINDOWS????"
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #1 en:
Martes 8 de Mayo de 2007, 22:34 »
0
Depuralo.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
asmodeous
Nuevo Miembro
Mensajes: 5
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #2 en:
Martes 8 de Mayo de 2007, 22:46 »
0
y eso como lo hago??
"In a world without fences and walls, who need GATES and WINDOWS????"
Mollense
Miembro de PLATA
Mensajes: 1755
Nacionalidad:
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #3 en:
Martes 8 de Mayo de 2007, 22:47 »
0
1) Coloca
Código: Text
return 0
en "llenar" y "mostrar"
2) No podés definir el tamaño de un array mediante una variable. Utiliza una expresión constante o crealos de la siguiente forma:
Código: Text
int *v1, *v2;
(No te olvides de eliminarlos al final mediante delete).
Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."
...no te quedes mirando.
asmodeous
Nuevo Miembro
Mensajes: 5
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #4 en:
Martes 8 de Mayo de 2007, 23:19 »
0
angel_k_ido
no entendi :S
aun no me pasan punteros.. solo funciones
por mas que depuro el programa no puedo pillar el error, pero me tinca que es en llenar en la parte del random (tiene que ser con random)
al compilar me tira los siguientes warning pero no se mucho a que se refiere :
Código: Text
35 C:\Documents and Settings\Administrador\Escritorio\tarea 2\tarea 2.c [Warning] passing arg 1 of `llenar' makes pointer from integer without a cast
35 C:\Documents and Settings\Administrador\Escritorio\tarea 2\tarea 2.c [Warning] passing arg 3 of `llenar' makes integer from pointer without a cast
36 C:\Documents and Settings\Administrador\Escritorio\tarea 2\tarea 2.c [Warning] passing arg 1 of `mostrar' makes pointer from integer without a cast
36 C:\Documents and Settings\Administrador\Escritorio\tarea 2\tarea 2.c [Warning] passing arg 3 of `mostrar' makes integer from pointer without a cast
si puedes ayudarme a encontrar algo de info sobre esto o donde pueda encontrar algun codigo parecido seria genial
bytez!
"In a world without fences and walls, who need GATES and WINDOWS????"
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #5 en:
Martes 8 de Mayo de 2007, 23:59 »
0
Código: Text
int main (int n){
int v1[100], v2[100];
printf("Ingrese el largo del vector no mayor a 100\n");
Eso haría que no tengas que usar punteros.
Mollense
Miembro de PLATA
Mensajes: 1755
Nacionalidad:
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #6 en:
Miércoles 9 de Mayo de 2007, 00:19 »
0
Cita de: "asmodeous"
angel_k_ido
no entendi :S
aun no me pasan punteros.. solo funciones
Bueno, te he dado dos formas de hacerlo, la primera (Sin punteros) es la que te propone Enko.
Además podrías leer n de la siguiente manera:
Código: Text
do{
scanf("%d",&n);
}while(n<0 || n>100);
para evitarte problemas.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."
...no te quedes mirando.
asmodeous
Nuevo Miembro
Mensajes: 5
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #7 en:
Miércoles 9 de Mayo de 2007, 01:44 »
0
ya miren... me puse a depurar el programa y al parecer el error lo tenia en la funcion llenar, en usar el rand()
asi que lo saque y en numeros chicos (1,2,3,4,5) funciona bien, pero en numeros mas grandes(10,100,19999) se cae.
Código: Text
#include <stdio.h>
#include <stdlib.h>
int random(int n){
rand()%100;
}
int llenar(int n,int v1[],int v2[]){
int i;
for (i=0;i<n;i++){
v1[i]=random(n);
v2[i]=v1[i];
}
}
int mostrar(int n,int v1[],int v2[]){
int i;
for(i=0;i<n;i++){
printf("%i\t",v1[i]);
printf("%i\n",v2[i]);
}
return 0;
}
int main (int n){
int v1[n], v2[n];
printf("Ingrese el largo del vector\n");
scanf("%d",&n);
llenar(n,v1,v2);
mostrar(n,v1,v2);
system("pause");
return 0;
}
aqui el codigo con los cambios
gracias por responder
"In a world without fences and walls, who need GATES and WINDOWS????"
asmodeous
Nuevo Miembro
Mensajes: 5
Re: Necesito Ayuda Para Pillar Un Error
«
Respuesta #8 en:
Miércoles 9 de Mayo de 2007, 02:19 »
0
me respondo solo xD:
(lol)
Primero defino un max, luego el n lo declaro al lado del vector en el main y sin parametros y ahi me funciono.
no se me habia ocurrido lo del define...
bueno ahi queda para el que lo necesite..
gracias por todo
"In a world without fences and walls, who need GATES and WINDOWS????"
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Necesito Ayuda Para Pillar Un Error