me han servido mucho tus videos, me he quitado el ADBlock y lo posteo por si alguien gusta hacerlo
@TheMarrioser7 жыл бұрын
Yo hice lo mismo, pero para todo youtube, es una forma de agradecerlo. Pero igualmente doné un poquito, porque me pareció muy amable y muy útil el canal. Lo digo por si alguien se anima también y así que vea que tiene apoyo y continúe con su canal
@adrifreeskate32897 жыл бұрын
Son geniales los vídeos, lo único que he echado de menos es un tutorial (que no se si lo habrá más adelante) en el que expliques los errores que da al compilar, como los llama y a que se suelen deber. Así en vez de buscar las diferencias entre el tutorial y mi código podría intentar ver cual es el fallo. Mil gracias! Eres un crack
@Jairolooo10 жыл бұрын
Me ha encantado el video, aunque estos 2 o 3 últimos vídeos si que los tendré que repasar porque lo de los vectores aunque comprendo más o menos cómo funcionan no lo he asimilado del todo, son muchas cosas nuevas. Gracias por los vídeos.
@redl1ner1708 жыл бұрын
Resumen de este video: vec[i] es lo mismo que *(vec+i). Y el nombre de un vector solo, sin corchetes ni nada, no es más que un puntero a la primera posición del vector.
@joserobertoherreracuriel20548 жыл бұрын
Oye tu muy bien, ya había visto dos veces el video y no entendía, hasta que leí tu bendito comentario.
@Kazzoi17 жыл бұрын
ole tu te quiero!
@enzo74006 жыл бұрын
Exacto ! Saber que un vector en realidad es un puntero que tiene almacenada la direccion de memoria del primer elemento del vector y que justamente apunta a ese elemento, aclara varias dudas. Para acceder al segundo elemento, avanzas una posicion de memoria, por eso el *(vec+1) que dice: a lo que apunta vec+1. O en el caso del for: *(vec+i).
@TheOrphanHatesYou5 жыл бұрын
Y si quiero guardar un nuevo valor en la misma posición de memoria dentro de una función? Puedo guardar una tabla en la misma variable, pero si intento que mantenga la dirección en la memoria me pone mal uno de los valores int
@isailopezmartinez84344 жыл бұрын
Más sencillo, todos los vectores o arreglos son en si apuntadores., pero se pueden reescribir como un puntero o apuntador
@Camila-do8ot Жыл бұрын
me exploto un pcoo le cerebro pero re contra aprendii mil gracias
@Anynomuos746489 жыл бұрын
He estado probando y creo que resulta más sencillo poner esto en la parte del sorteo, al menos a mí me ha funcionado, lo pego: void loteria (int *v){ int i,dado; for (i=1;i
@germantoobe3 жыл бұрын
Exelentes explicaciónes, gracias y saludos.
@santiagoinigo504510 жыл бұрын
El video, como todos está muy bien. En el ejemplo del dado sobra el "case", porque siempre la operación es la misma *(vec+aux)++ o lo que es lo mismo *(vec+aux)=*(vec+aux)+1
@josuebracho4529 Жыл бұрын
Eso pense yo tambien, pero si pongo *(vec+aux)++ da error, tiene que ser *(vec+aux)+=1
@antoniollaguno23574 жыл бұрын
exelentes clases de programacion en C++
@EmpiezaAProgramar4 жыл бұрын
Gracias! Aunque recuerda que no es C++, sino C lo que enseño :D
@demorootmail6737 жыл бұрын
Solo que no era necesario hacer un swich bastaba con solo *(vec+aux)++; asi es mas corto y eficiente
@EvaristeG104 жыл бұрын
No funciona con ++, debes poner +=1
@juansimonmerlo68544 жыл бұрын
@@EvaristeG10 hola, podrías explicarme por qué no funciona con ++?
@jorgerosas60373 жыл бұрын
Exacto..
@Kazzoi17 жыл бұрын
como consejo para la gente que este ultimo tema le queda un poco nublado yo me he olvidado de usar los vectores de esta forma y los uso como en el video anterior, por que es la manera que los entiendo perfectamente y total es lo mismo
@neurosp3 жыл бұрын
Gracias por los punteros , estoy en un curso y lo explican cómo el culo
@cesargamboa136 жыл бұрын
/* ********************** Hola amigo, excelente video, creo que el switch no es necesario, aqui esta el codigo de mi version funcionando para el que lo quiera ver ya que algunos comentan que no anda sin el switch. Gracias por hacer tan excelentes videos. ********************** Bloque 05.03.02; Calcular la probabilidad de que salga cada uno de los numeros de un dado de 6 lados usando punteros. Calcular 10000 iteracciones Version de César Gamboa */ #include void funcLanzarDado(int v[6]); void funcLeerResultados(int v[6]); int main() { int vVector01[]={1,2,3,4,5,6}; //Se va a usar como un contador, cada resultado del dado se le va a sumar 1 a la parte correspondiente funcLanzarDado(vVector01); // Se llama a la funcion de lanzar dado con el vector como parametro funcLeerResultados(vVector01); system("pause"); return 0; } void funcLanzarDado(int *v) //Se recibe el vector como parametro peo como se va a tratar con punteros se define con el simbolo '*' { //Se crea un numero aleatorio //Se crea una semilla para captar un numero largo aleatorio int aux; srand(time(NULL)); int i; for(i=0;i
@zalebu6 жыл бұрын
¿Porqué en el segundo programa, minuto 6:41, imprime salto de linea si en el código no se puso ?
@ZUK-DT-em4wf6 жыл бұрын
Con lo que me ha enseñado a través de sus vídeos y aprendido de Internet estoy haciendo un juego de batallas por turnos, y lo que quiero lograr es que si un golpe es seleccionado, el rango de daño en la vida sea de entre 10 y 20. A base de mi escasa creatividad he hecho lo siguiente. //Número aleatorio. #include int main (){ int x; int i; srand (time(NULL)); x = rand () % 20; for (i=0;i=0&&x=10&&x
@lilviper76073 жыл бұрын
Yo tuve que utilizar las bibliotecas stdlib.h , time.h porque me decia que time, rand y srand no estaban declaradas, usando solo stdio.h
@santiagozenteno3052 Жыл бұрын
Gracias bro me ayudaste 😉
@Julianes_code8 жыл бұрын
que pasa si no usas el condicional switch, es decir a mi parecer no hace falta ya que el numero que arroje la variable aux no va a cambiar mientras el bucle no de otra vuelta, asi que simplemente se le sumara uno a la posicion del vector.
@jorgeandrescordobamedina80099 жыл бұрын
¿podrías hacer ejemplos donde el usuario ingrese el tamaño de la longitud del vector? me seria de mucha ayuda gracias! espero me puedas responder si si o si no.
@Anesar934 жыл бұрын
Alguien sabe por que me da error de invalid initializer in function main?
@SUPERKMB19977 жыл бұрын
Disculpe la molestia, no comprendo el porque se utilizan punteros si de todas maneras al modificar los valores de un vector en una funcion los valores se quedan modificados en la funcion main, me explico, hice un programa en el cual cree un vector y le meti como valores el 1,2 y el 3, ademas cree una funcion (llamada fun) en la cual a ese vector se le suma un 5, quedando los valores del vector como 6, 7 y 8, luego imprimi los valores del vector en la funcion fun y me imprimio 6,7,8 luego imprimi los valores del vector fuera de la funcion fun y me sigue dando 6, 7 y 8. No se supone que los punteros son para "extraer" mas de un solo valor de variables utilizadas en una funcion?, entonces si el vector conserva los valores que se le asignaron en la funcion fun , entonces para que se usan los punteros?.
@lumnt604210 жыл бұрын
¡Excelente!
@cesarwadskier92178 жыл бұрын
hola como hago para imprimir en que posicion del vector se encuentra un numero ya guardado
@luisllorensmompo3 жыл бұрын
¿Es preciso el switch? Si quisiera hacerlo con los números de la Loto o del bingo serían muchos case y el código sería larguísimo.
@Rafael-ix2rk9 жыл бұрын
eres un fiera
@MrGrapas3 жыл бұрын
cuando sacaste el curso tenía 10 años jaja, y aquí me tienes
@Cris-ru3st4 жыл бұрын
gracias por el video :) logre entenderlo solo me falto las librerias xd
@hamblinperez33869 жыл бұрын
Hola solo tengo una duda se pueden hacer comparaciones entre vectores y matrices y que imprima una matriz resultante sin duplicados ??
@RodrigoSantos-ou9oh10 жыл бұрын
se podria hacer este mismo ejercicio con vectores. pero sin usar punteros?
@EmpiezaAProgramar10 жыл бұрын
Rodrigo Santos Buenas, pues a partir de ahora cuando tengas una duda del tipo, ¿Se podria hacer de tal manera? Lo que tienes que hacer es probarlo, asi es como se aprende a programar de verdad, asi que adelante, prueba y saca tus propias conclusiones y luego, si quieres, puedes compartirlas aqui. Un saludo y a seguir aprendiendo!
@heroe22148 жыл бұрын
Hola ante todo queria agradecer sus videos tutoriales, estan muy pero muy bien explicados, realmente con usted estoy aprendiendo mucho. Tengo una duda, ojala usted tenga tiempo y me la responda: Sino me equivoco en el video anterior, usted dijo que los punteros no hacen falta en los vectores, ya que cuando se le pasa como argumento un vector a una funcion, ésta modifica el vector original, o sea no crea una nueva variable en memoria, entonces me surge la duda de por que en este video, se usan punteros en vectores. De vuelta muchas gracias y perdon por el comentario tan largo
@iNrelevante10 жыл бұрын
Tengo una duda: Tanto en el printf del segundo ejemplo como en el scanf a la hora de referirte al vector lo pones entre paréntesis ,*(vec+i)), he probado sin los paréntesis y no cambia nada. ,*vec+i); Me puedes explicar si los paréntesis responden a algún tipo de función o simplemente los pones para aclarar que dentro hay una suma? Gracias.
@enzo74006 жыл бұрын
Mmm no se a que te referis que no cambia en nada. Yo lo veo asi: si haces un printf de *(vec+i) se mostrara el elemento de la primera posicion+i. Por ejemplo si vec={1,5,7} e i=2 se mostrara el 7. Por el contrario si haces printf de *vec+i yo pienso que el * solo afecta a vec, por ende, siguiendo el ejenplo anterior, se mostrara la suma del primer elemento del vector ( ya que *vec significa: a lo que apunta vec, y justamente vec es un puntero que tiene almacenada la posicion de memoria del primer elemento del vector) más i, entonces queda: 1+2=3.
@darske18 жыл бұрын
Totalmente innecesario ese switch, si en todos los casos hace lo mismo, hubiera bastado con poner *(vec+aux)+=1; Así se ahorraban un montón de líneas de código y tiempo en comparaciones. Igualmente muy buen trabajo, muy bien explicado todo :)
@yeraipros58 жыл бұрын
No entiendo muy bien para que ponemos el switch, cuando en todas las situaciones se lleva acabo la misma función, he probado a hacerlo sin el switch y da el mismo resultado, así que para que sirve el switch en este caso?
@sasosan24288 жыл бұрын
+yerai pros el switch se puede omitir
@yeraipros58 жыл бұрын
+Saso San entoces para que lo pone?
@sasosan24288 жыл бұрын
+yerai pros pues supongo yo que porque son ejercicios de aprendizaje, no necesariamente optimizados y pues si eres principiante de paso prácticas switch .. no creo que muchos se den cuenta de que se puede omitir el switch ya que estamos concentrados en los punteros y operaciones
@rauleduardocruzperez727010 жыл бұрын
Hola que tal, una duda o más bien pregunta, *(vec+i) equivale a ¿ vec[i] ? lo hize de las 2 formas y al parecer me sale lo mismo, supongo solamente es para ver el funcionamiento con punteros ¿cierto?
@EmpiezaAProgramar10 жыл бұрын
Raúl Crüez Tienes que volver a verte el video, creo que ahi se explica lo suficientemente bien como para que te quede claro. Un saludo.
@laloespino2409 жыл бұрын
Turn down for what!
@FranXcoT9 жыл бұрын
En que video explicas lo de punteros en funciones? Este es el segundo video que veo de punteros y lo das por entendido, en todo caso, mi duda es en scanf, por que hay que poner vec+i???
@EmpiezaAProgramar9 жыл бұрын
+Franco Taborda Lo mejor es no preguntarlo y buscarlo tu mismo, cada vídeo tiene un titulo y una descripción, por lo que lo podrás ver fácilmente. Aquí tienes la lista de reproducción con todos los vídeos: kzbin.info/aero/PLw8RQJQ8K1ySN6bVHYEpDoh-CKVkL_uOF Un saludo.
@FranXcoT9 жыл бұрын
+Empieza A Programar Vi desde el primer vídeo de punteros hasta este vídeo y en ningún lugar dices el porque de lo que te pregunto, lo único que aclaras es que normalmente se pone la posición del elemento que se quiere reemplazar adentro de los corchetes.
@ignaciosebastian886 жыл бұрын
si pones (vec+i) hace referencia a la direccion de memoria no?. en el caso de ponerle * es el dato que le asignaste a ese puntero?. PD: hace falta poner la libreria #include ?.
@keinmaster4 жыл бұрын
También en mi caso tuve que agregar la librería #include
9 жыл бұрын
En el caso anterior usted hacía un llamado a la la función con punteros de esta forma: imprimir(&vec); y declaraba la función con punteros así: int imprimir(int *a){}; Y yo entendía que el a=&vec. Pero ahora veo que es igual pero en vez de poner el &vec al declarar en el main la función,solo le pone "vec". Quisiera despejar esa duda...
@hernianbedac58047 жыл бұрын
Hola Emilio, te hago una consulta: tengo un problema que me impide avanzar con los vectores, no puedo hacer los ejercicios por mi cuenta ya que me tira un error al compilar. #include int main(){ int i; int vec[] = (1,2,3); for (i=0 ; i
@EmpiezaAProgramar7 жыл бұрын
El problema es que no se inicializan los vectores con paréntesis "(", sino con llaves "{". Un saludo.
@davidcandelaruze6 жыл бұрын
int vec[] = {1,2,3} //tu pusiste (1,2,3)
@Juankam7 жыл бұрын
hola Emilio, tengo una duda, es que en el ejemplo 2 de este video lo intente realizar solo, pero siempre que lo ejecuto me sale algún valor negativo, pero no se si es normal, y muchas gracias he aprendido bastante con tus videos, mira esto es lo que he echo: //calcular la probabilidad de que un numero salga en un dado con un vector en 10000 tiros #include void probabilidad(int *vector); void leer(int*vector); int main (){ int vector[]={0,0,0,0,0,0}; probabilidad(vector); leer(vector); } void probabilidad (int*vector){ srand(time(NULL)); //es para sacar numeros aleatorios int i,a; for(i=0;i
@martinmacola62568 жыл бұрын
GENIO!
@carlaberard12032 жыл бұрын
Buenas, tengo una duda: porqué no se le pone el "&" antes de (vec+i)?
@alexxljj16102 ай бұрын
4:30
@elarcademan9 жыл бұрын
Hola muy buenas exelente video este cada vez aprendo mas e tenido un problemilla con srand y es que estoy en linux y parece que se utiliza de otra forma lo buscare en google pero si saves cual es te agradeceria que me lo digeces asi no boy dando tumbos por hay jejeje muchas gracias un saludo.
@benko-pi1fi9 жыл бұрын
EXCELENTE
@diyarbakirvasquezsilva374710 жыл бұрын
hola, como seria verificar si un dato existe en un vector y mostrar su posición?
@EmpiezaAProgramar10 жыл бұрын
Diyar Bakir Vásquez Silva Pues para eso, tendras que pensarlo tu mismo, si te ves todos los videos de vectores se te ocurrira, ya que es realmente sencillo, pero la gracia de la programacion es pensar en como usar una herramient (C en este caso), no lo contrario. Un saludo.
@diyarbakirvasquezsilva374710 жыл бұрын
Empieza A Programar lo intenté así #include int main(){ int x, i, a[5]= {9,8,7,5,3}; printf ("indique la posicion del dato q desea ver: "); scanf("%i", &x); for(i = 0 ; i< 5; i++){ } if(x== a[i]){ printf("el %i esta en posicion %i", x, a[i]); } else{ printf("%i no existe en la lista ", x); } system("pause"); return 0; } no obstante no ocurre lo que busco
@andersonloaiza962210 жыл бұрын
Diyar Bakir Vásquez Silva amigo como estas, voy en este video aprendiendo a programar, no se si todavia tengas esta duda igual te dare mis dos posibles soluciones: Si lo que quieres es dar una posicion del vector y saber que valor tiene, esta este programa: #include int main(){ int x, i, a[5]= {9,8,7,5,3}; printf ("indique la posicion del dato q desea ver: "); scanf("%i", &x); printf ("el numero en la posicion %i es: %i ",x,a[x]); system("pause"); return 0; } y el otro ejercicio es saber si un dato existe en un vector y en que posicion esta, hice este programa: #include int main(){ int y, i, a[5]= {9,8,7,5,3}; printf ("introduce un numero para y: "); scanf ("%i", &y); for (i = 0 ; i < 5 ; i++){ //printf ("%i, ",a[i]); if (y == a[i]){ printf ("el numero %i introducido para Y si existe y es el numero %i y esta en la posicion %i ",y,a[i],i); } } system("pause"); return 0; }
@the_radio_deer10 жыл бұрын
haciendo el mismo codigo ktu me da un error, el numero generado por rand no cambia y me el 100% uno de los numeros.
@EmpiezaAProgramar10 жыл бұрын
Si aun sigue el error pon aqui el codigo, algo debes de tener mal. Un saludo.
@the_radio_deer10 жыл бұрын
Gracias, pero ya lo sulocione. :)
@Kazzoi17 жыл бұрын
uf he notado un salto de dificultad bastante grande en la linea de aprendizaje que llevavamos hasta aqui jeje
@Kazzoi17 жыл бұрын
es curioso lo dificil que es hacer tu trabajo por que en un solo video le dejas claro a todo el mundo como funcionan las cosas y no suele haber preguntas como pasaria en cualquier clase expuesta presencialmente eso pocos profesores del mundo lo logran
@firecode52767 жыл бұрын
no me sirve la función srand (time(NULL)); hay otra opción que se lo mismo?
@10meloalan7 жыл бұрын
talvez a esta altura no te sirva pero debes poner otra libreria #include
@roisdelythgonzalez41597 жыл бұрын
tengo el mismo problema pero yo ya agregué la libreta stdlib
@jorgearroyogonzalez90887 жыл бұрын
#include #include
@TheSebascasta8 жыл бұрын
existe algun problema si opto por nunca usar los punteros?. pq en serio que no entiendo como se usan :/
@juancarlosrelloso13023 жыл бұрын
Hola porque no lo haces que sea real los números aleatorios del 1 al 6 en vez del 0 al 5. Muchas gracias (eres muy bueno, me gustan tus videos un montón)
@leonorrobledo88738 жыл бұрын
hola", yo tengo esto así, pero no sale, ya cambie mil veces las cosas y sigue marcándome errores, que hago? #include #include #include #include float EDO(float y[],float dydx[]); // prototipo int main(){ float *x,y[10],x0,xf,y0[10],dydx[10],h; int i,N, Neq; FILE *Archivo; Archivo = fopen ("Resultados.txt", "w"); Neq=10; scanf("%i",&N); x= (float*)malloc(N*sizeof(float)); x0=(float*)malloc(N*sizeof(float)); xf= (float*)malloc(N*sizeof(float)); x0=0.0; //Valor inicial de la variable independiente xf=10.0; y0[0]=0.0; //Valor inicial de la variable dependiente y0[1]=0.0; y0[2]=0.0; me dice que tengo tipos incompatibles con float
@robeabraham36510 жыл бұрын
Exelente!!
@dooby7777777777779 жыл бұрын
He hecho el segundo problema pero sin punteros, ya que me parece mucho más sencillo y me ha permitido ahorrarme código. #include void dado (int a[]); void leer (int a[]); int main () { int v[6] = {0,0,0,0,0,0}; dado (v); leer (v); system ("pause"); return 0; } void dado (int a[]){ srand (time(NULL)); int i,aux; for (i=0;i
@Parra116 Жыл бұрын
Pero como yo hago para disminuir la cargar del vector ?
@facebookwhatsapp21558 жыл бұрын
el uso de los punteros para no ocupar mucha memoria verdad? con eso se optimiza el trabajo
@EmpiezaAProgramar8 жыл бұрын
Entre otras cosas, es para no ocupar mucha memoria, exactamente, si tienes una cosa en memoria y lo puedes usar desde varios lugares diferentes (por ejemplo varias funciones diferentes), te ahorras tenerlo de forma repetida, por lo que ahorra memoria y tiempo de volver a crearlo. Un saludo.
@DanielGonzalez-uz7ki9 жыл бұрын
tienes algún tutorial de como hacer números aleatorios sin repetirse ?
@110SEBA159 жыл бұрын
+Daniel Gonzalez La unica forma que se me ocurre a mi. Es ir guardando los aleatorios en un vector. y compara si todos los elementos guardados que tiene el vector son distintos al nuevo numero generado. si es asi, que guarde. Sino que de otra vuelta.
@mroscardd578 жыл бұрын
Hola! He intentado hacer el ejercicio del algoritmo de la probabilidad introduciendo el numero de iteraciones como parametro de entrada "n", una vez sustituidos los "10000" por "n", cuando lo sustituyo en la variable "x" de probabilidad me da error , ya ponga el punto en el numerador o en el denominador, ¿A alguien se le ocurre que sucede?
@jesusrubio16337 жыл бұрын
El switch ese no nos vale para mucho realmente, no? Al fin y al cabo siempre hará *(vec+aux)++, por lo que no nos hace falta una estructura selectiva (como seria el switch).
@elarcademan9 жыл бұрын
ni te preocupes ya lo e resuelto 1 necesitaba otras librerias 2 no abia declarado como flotante la variable disculpa la molestia sigo practicando jejeje...
@RaicitoxD7 жыл бұрын
Tengo un serio problema aunque creo que probablemente sea un bug de la versión ya que ami los floats desde que empece no me dan decimales, me dan los números exactos continuados de un punto y ceros ej: 17.00000 no me da decimales, a lo mejor alguien sabe como solucionarlo, gracias de antemano !
@saulaxel7 жыл бұрын
r1nx casi seguro que han sido errores de conversión por hacer operaciones con enteros y guardarlos en floats. El error no de versión sino tuyo.
@Javi11Cc10 жыл бұрын
Buenas a todos, tengo una duda. Por qué usamos en el ejercicio del dado los punteros? Por ejemplo en esta parte del código pongo el puntero en case4 y no lo pongo en case5 y me compila igual y se ejecuta igual case 4:{ *(v+aux)+=1; break; } case 5:{ v[aux]+=1; break; } Gracias de antemano
@EmpiezaAProgramar10 жыл бұрын
JaviCc Vaya, me has hecho ver mi propio video (lo cual resulta raro), en el minuto 0:40 aproximadamente explico de que va el video y lo que digo es que voy a enseñar una nueva forma para acceder a los datos de un vector... es decir, que son iguales ambas formas, por supuesto. Te pediría que en el futuro antes de postear te vieras un par de veces los videos si tienes dudas porque realmente lo suelo explicar casi todo y tras un año y pico, lo que no esta en los videos suele estar en los comentarios del mismo ya contestado. En el caso de que tu duda no este explicada en el video o en los comentarios, sera un placer responderte! Un saludo :D.
@Javi11Cc10 жыл бұрын
Muchísimas gracias! Lo haré así ^^
@FaculocoDj8 жыл бұрын
Uso el programa Zinjai y copie este codigo: #include #include #include int main(){ int i; int vec[]=(1,2,3); for (i=0;i
@juanpablomuccillidemaria81674 жыл бұрын
Prócer del universo
@eaomorsa6 жыл бұрын
Emilio: Para calcular la probabilidad solo hay que dividir total de éxitos entre total de eventos.
@TukaPlay8 жыл бұрын
yo lo había hecho todo en una misma función. int main (){ int i; int vec[10]; for (i = 0; i < 3; i++){ printf (" Introduce un valor para la posicion %i del vector: ",i); scanf ("%i",(vec+i)); } i = 0; for (i = 0; i < 3; i++){ printf ("%i ",*(vec+i)); } system ("pause"); return 0; }
@paolahinostroza66598 жыл бұрын
acá me perdí :(
@angeltavarez31809 жыл бұрын
se me habia olvidado el twich cuando me puse a hacerlo xD
@ermitoba76207 жыл бұрын
Hola, en el primer ejemplo que pones, a mí solamente me imprime el segundo número, lo he repasado 20 veces y he usado el depurador, y no encuentro la solución. Alguien me puede ayudar? #include void funcion (int *vec); void imprimir (int *vec); int main(){ int vec[3]; funcion (vec); imprimir (vec); system ("pause"); return 0; } void funcion (int *vec){ int i; for (i = 0 ; i < 3 ; i++){ printf ("Introduce un valor para la posicion %i: ",i+1); scanf ("%i", (vec+i)); } } void imprimir (int *vec){ int i; for (i = 0 ; i < 3 ; i++){ printf ("%i ",*(vec+1)); } }
@mauricioalejandro29384 жыл бұрын
En tu función de imprimir, tienes *(vec+1), en lugar de *(vec+i)
@chavakseya9 жыл бұрын
en los ejemplos que salen al principio del video del vec [] = 1,2,3 me imprime solamente el 2; en el siguiente ejemplo me imprime solamente el 8 tengo la vercion mas reciente de dev c++ con el TDM-GCC (pense que tenia que ver con el compilador) y descarge a la vercion que esta e el video con el compilador Mingw e imprime lo mismo ("guarde con nom_archivo.c")
@EmpiezaAProgramar9 жыл бұрын
andrew Osorio Dale al cuarto boton, el de rebuild o reconstruir todo y seguro que no habra problema. Tambien ten en cuenta que estes leyendo bien el vector. Un saludo.
@danielvr7469 жыл бұрын
andrew Osorio lo que te pasa es que cuando debes poner printf("%i, ", *(v + i)); y en vez de eso tu le sumas uno en vez de la letra i
@bydocexx78678 жыл бұрын
que tengo mal? me salen infinitos numeros #include void funcion (int *vec); void leer (int *vec); int main () { int vec [3]; funcion (vec); leer (vec); system ("Pause"); return 0; } void funcion (int *vec) { int i; for (i = 0; i < 3; i++) { printf ("Introduce valor para la posicion %i: ", i+1); scanf ("%i", (vec +i)); } } void leer (int *vec) { int i; for (i = 0; 1 < 3; i++) { printf ("%i ", *(vec +1)); } }
@EmpiezaAProgramar8 жыл бұрын
Te recomiendo que utilices el depurador en este tipo de casos en vez de preguntar, suele ser mucho mas rapido e instructivo. Un saludo.
@cosck7 жыл бұрын
no era necesario el switch (aux)con solo poner *(vec+aux) +=1; en un solo renglón era suficiente.
@Kazzoi17 жыл бұрын
supongo que lo hizo para que la gente recordara el switch ya que hace muchos videos que no a puesto un ejemplo!
@jorgeb27897 жыл бұрын
Para que haces el swich si todos llevan la misma sentencia, no es inutil?
@bubbango8 жыл бұрын
Hola a todos. ¿Podrían ayudarme en una duda que me surgió? Mi duda es que si puedes poner el "case" en un bucle, en un switch. Saludos, gracias. #include void operation (int *v, int *n); void imprimir (int *v, int *n); int main (){ int n; printf ("Introduce de cuantos numeros estamos parlando y te daré la probabilidad: "); scanf ("%i", &n); int v [n]; operation (v, n); imprimir (v, n); system ("pause"); return 0; } void operation (int *v, int *n){ srand (time(NULL)); int i, aux, j; for (i = 0 ; i < 10000; i++){ aux = rand ()%*n; switch (aux){ /*AQUIII+/ for (j = 0 ; j < *n ; j++){ /*AQUIII+/ case 0 + j: { /*AQUIII+/ *(v+aux) += 1; /*AQUIII+/ break; /*AQUIII+/ } } } } } void imprimir (int *v, int *n){ int i; float x; for (i = 0; i < *n ; i++){ x = (*(v)*100) / 10000; printf ("La probabilidad de que el numero %i salga es de: %f. ",i+1, x); } printf (" "); }
@harlesepc59062 жыл бұрын
Lastima que no tuvo en cuenta el zoom...las letras salen muy pequeñas.
@isailopezmartinez84344 жыл бұрын
En las partes importantes de explicación y dudas acentúas mucho la s y no entiendo :,c.
@2222agustin8 жыл бұрын
me sale esto: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration] error: expected ';' before numeric constant
@2222agustin8 жыл бұрын
USO CODE BLOCKS
@2222agustin8 жыл бұрын
YA ESTA me falto el #include
@redl1ner1709 жыл бұрын
A mi entender la estructura switch no hace falta....
@dooby7777777777779 жыл бұрын
+ngoeslink Eso pensé yo, pero lo intente hacer y me daba problemas así que lo he hecho sin punteros. Lo acabo de poner en un comentario por si te interesa.
@Julianes_code8 жыл бұрын
+ngoeslink es verdad no hace falta, creeria yo que seria mas eficiente por que el programa no tendria que entrar en los condicionales.
@jesusrubio16337 жыл бұрын
+LuisG Que bonito encontrarte en un comentario de youtube jajaja. Yo no usé el switch ni en notación puntero ni en vector y me iba de perlas
@flatolingo5 жыл бұрын
Tengo una duda técnica, ¿porque hacemos todo el rato (vec+1) si el direccionamiento es a nivel de byte y un "integer" son 2 bytes (16 bits)? si haces +1 te vas al siguiente byte que no coincide con el principio del siguiente entero. (Esto si ocurre con los "char" ya que ocupan 1 byte cada carácter en memoria)
@kevinmaciel34092 жыл бұрын
Porque el puntero sabe a que tipo de dato esta apuntando, por lo cual al sumarle 1 se mueve a la siguiente direccion teniendo en cuenta el tipo de dato del puntero
@NicboChetaIiI3 жыл бұрын
alguien me explica por que no funciona mi codigo? #include #include #include #include void sorteo (int *vec); void leer(int *vec); int main(){ int vec[]={0,0,0,0,0,0}; sorteo(vec); leer(vec); printf("Hola"); system("pause"); return 0; } void sorteo(int *vec){ srand(time(NULL)); int i, aux; for(i=0; i
@gustavorangel8949 жыл бұрын
En el resultado todos me dan el mimo numero es decir que no me da la totalidad del 100% Aca esta el codigo #include void sorteo(int *vec); void leer(int *vec); int main(){ int vec[] = {0,0,0,0,0,0}; sorteo(vec); leer(vec); system("pause"); return 0; } void sorteo(int *vec){ srand (time(NULL)); int i,aux; for(i = 0; i < 10000; i++){ aux = rand()%6; switch (aux){ case 0:{ *(vec+aux) +=1; break; } case 1:{ *(vec+aux) +=1; break; } case 2:{ *(vec+aux) +=1; break; } case 3:{ *(vec+aux) +=1; break; } case 4:{ *(vec+aux) +=1; break; } case 5 : { *(vec+aux) +=1; break; } } } } void leer(int *vec){ int i; float x; for (i=0; i
@elarcademan9 жыл бұрын
a se me olvidaba el codigo al final te pongo los mensages de error del compilador #include void sorteo(int *vect); void imprimir(int *vect); int main(void){ int vect[] = {0,0,0,0,0,0}; sorteo(vect); imprimir(vect); return 0; } void sorteo(int *vect){ srand(time(NULL)); int i, aux; for(i = 0; i < 10000; i++){ aux = rand()%6; switch(aux){ case 0:{*(vect+aux) += 1;break;} case 1:{*(vect+aux) += 1;break;} case 2:{*(vect+aux) += 1;break;} case 3:{*(vect+aux) += 1;break;} case 4:{*(vect+aux) += 1;break;} case 5:{*(vect+aux) += 1;break;} } } } void imprimir(int *vect){ int j, x; for(j = 0; j < 6; j++){ x = (*(vect+j)*100)/10000.; printf("La probabilidad de que el numero %d salga es de %f: ", j+1, x); } } ejercisio_27.c: En la función ‘sorteo’: ejercisio_27.c:19:2: aviso: declaración implícita de la función ‘srand’ [-Wimplicit-function-declaration] ejercisio_27.c:19:2: aviso: declaración implícita de la función ‘time’ [-Wimplicit-function-declaration] ejercisio_27.c:23:3: aviso: declaración implícita de la función ‘rand’ [-Wimplicit-function-declaration] ejercisio_27.c: En la función ‘imprimir’: ejercisio_27.c:38:3: aviso: formato ‘%f’ espera un argumento de tipo ‘double’, pero el argumento 3 es de tipo ‘int’ [-Wformat] La compilación ha terminado con éxito. y se compila con exito XD
@addfilm9 жыл бұрын
EL ARCADEMAN En la funcion imprimir declaraste x como entero (int), tenes que declararla como float. En el printf de imprimir pusiste %d y tenias que poner %i. La advertencia de srand no se por que es. Suerte.
@elarcademan9 жыл бұрын
ok gracias %d tambien imprime enteros no se a que se deve pero asi me lo enseñaron en un curso que hice. no se enfocaba en c pero vimos un poquito, en ese momento usaba linux y siempre use %d. si que e declarado mal x muchas gracias
@addfilm9 жыл бұрын
Es cierto, error mio. Se puede usar %i y %d. Gracias por avisar.
@elarcademan9 жыл бұрын
Ho! no gracias ati
@agus09 жыл бұрын
No entiendo que sentido tiene el "switch(aux)" en el procedimiento "sorteo()"....
@frankjobs71135 жыл бұрын
No entendí porque hacerlo con el switch.. yo lo hice sin el. #include void sorteo(int *vec,int tope, int iter); void muestravectorpointer(int *vec, int tope,int iter); int main(){ int v[]={0,0,0,0,0,0},x=6,it=10000; sorteo(v,x,it); muestravectorpointer(v,x,it); system("pause"); return 0; } void sorteo(int *vec,int tope, int iter){ srand(time(NULL)); int i,c,l; for (c=1;c
@edkaem2598 жыл бұрын
Estoy volando en esta webada de punteros, alguien podría decirme porque no funciona mi programa, se los agradecería. #include void puntero (int *vec); void ayuda (int *vec); int main (){ int vec[3]; puntero(vec); ayuda(vec); system ("pause"); return 0; } void puntero (int *vec){ int i; for (i=0; i
@joseluisgasconarias60348 жыл бұрын
+Edkaem te falta la librería stdlib
@edkaem2598 жыл бұрын
+Luis Gascón Disculpa pero como llamo a esa librería que dices ?
@joseluisgasconarias60348 жыл бұрын
#include te recomiendo leer más sobre las librerías
@Zoroark19998 жыл бұрын
+Edkaem En el void puntero, en el scanf a vec no se le suma 1, sino i.
@javierfuentes18049 жыл бұрын
me da un error aqui srand(time(NULL)); para ver cual es el error ke tengo #include void sorteo(int *vec); void leer(int *vec); int main() { int vec[]={0,0,0,0,0,0}; sorteo(vec); leer(vec); return 0; } void sorteo(int *vec) { srand(time(NULL)); int i,aux; for(i=0;i
@edkaem2598 жыл бұрын
No enseñaste para que servía el switch, y ahora lo usas, la verdad es que me perdí en casi todo el problema, haberlo de nuevo nomas.
@EmpiezaAProgramar8 жыл бұрын
+Edkaem Enseñe para que sirve el switch en el bloque 2. Por favor, tienes que verte todos los vídeos antes de comentar que no lo entiendes. Un saludo.
@edkaem2598 жыл бұрын
+Empieza A Programar Lo veré inmediatamente :D, disculpa por la molestia.
@mekmekmek20198 жыл бұрын
No te preocupes, en este vídeo el switch sirve para nada... : )
@xXdeathnoteXx9618 жыл бұрын
los punteros no se declaran ? no entendi una mierda :C
@sasosan24288 жыл бұрын
+jonathan quiñonez si se declaran
@javierfuentes18049 жыл бұрын
les agregue esas librerias y ahora me da error en todos los casos alguien que me eche una manito.. #include #include #include void sorteo(int *vec); void leer(int *vec); int main() { int vec[]={0,0,0,0,0,0}; sorteo(vec); leer(vec); return 0; } void sorteo(int *vec) { srand(time(NULL)); int i,aux; for(i=0;i
@soniaframis74259 жыл бұрын
cambia la libreria #include por #include suerte!
@condor12948 жыл бұрын
yo puse de esta manera pero no me compila podrias ver el error y corregirlo ? #include void sorteo (int *vec){ void leer (int *vec){ int main (){ int vec []={0,0,0,0,0,0}; sorteo(vec); leer(vec); system ("pause"); return 0; } void sorteo (int *vec){ srand(time(NULL)); int i,aux; for (i=0; i
@FaculocoDj8 жыл бұрын
#include #include #include #include void sorteo (int *vec); void leer (int *vec); int main (){ int vec[6]; vec[0]=0; vec[1]=0; vec[2]=0; vec[3]=0; vec[4]=0; vec[5]=0; sorteo(vec); leer(vec); system ("pause"); return 0; } void sorteo (int *vec){ srand(time(NULL)); int i,aux; for (i=0;i
@eliasmartinez5306 жыл бұрын
despues del numero de cada CASE, va dos puntos no punto y coma, ej: case 1:
@carlossantaella1398 жыл бұрын
amigo tu explicacion no estuvo muy acertada por ejemplo nunca explicastes xq pones 0s en las 6 posiciones o por que cuando se le suma 1 a los valores de *(vec+aux) da como resultado un numero determinado cuando en la variable del vector cuando la declarastes pusistes puros 0 eres un exlente profesor la mayoria de tus videos los e entendido pero no des por hecho que los que ven los videos los entienden porfavor habemos personas q estamos comenzando y queremos aprender
@skary10238 жыл бұрын
+Carlos Santaella "habemos" creo que te equivocas de palabra
@yeraipros58 жыл бұрын
+Carlos Santaella yo estoy empezando a aprender y eso que dices que no explica, si lo hace y a mi parecer se entiende todo a la perfección.
@carlossantaella1398 жыл бұрын
mmmm entiendo, ya yo no estoy en ese nivel pero sigue aprendiendo (y)
@Criticalgraphics8 жыл бұрын
+Carlos Santaella creo que es sentido comun 0 es el numero inicial y le sumas 1 cada vez