Autor
|
Tema: Duda arreglos (Leído 4,307 veces)
|
alexis33de
Desconectado
Mensajes: 56
|
Hola estaba viendo un problema que vi sobre arreglos dice asi: int x[10]; //Puede arreglarse las declaraciones para que funcione la asignacion x=y? int y[10]; mi solución fue la de usar punteros y mi codigo es el siguiente, ahora esta bien esta forma que uso o existe otra forma . Ojo lo que pide es arreglar declaraciones, pero igual lo hize de esta forma, no se si sea la correcta #include <iostream> using namespace std; int main() { int x[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};//para demostrar que esta comparando int y[10]; int i = 0; while(*(y + i) = *(x + i)) i++; for(int a= 0; a < 10; a++) cout<<y[a]<<endl; system("pause"); return 0; }
|
|
|
En línea
|
|
|
|
clodan
Desconectado
Mensajes: 277
|
osea... a y le queres asignar los valores de x??
emm dentro de string.h me parece que hay una funcion que es
strcat (var1,var2);
creo que esa te copiaba el valor de la var2 en la 1
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Hola estaba viendo un problema que vi sobre arreglos dice asi: int x[10]; //Puede arreglarse las declaraciones para que funcione la asignacion x=y? int y[10]; mi solución fue la de usar punteros y mi codigo es el siguiente, ahora esta bien esta forma que uso o existe otra forma . Ojo lo que pide es arreglar declaraciones, pero igual lo hize de esta forma, no se si sea la correcta #include <iostream> using namespace std; int main() { int x[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};//para demostrar que esta comparando int y[10]; int i = 0; while(*(y + i) = *(x + i)) i++; for(int a= 0; a < 10; a++) cout<<y[a]<<endl; system("pause"); return 0; }
el codigo esta incorrecto, si te fijas saldra solo cuando suceda un error debido a que lo que haces es asignar el valor de x+i a y+i, no existe una condicion verdadera donde termine el while. #include <iostream> using namespace std; int main() { int x[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};//para demostrar que esta comparando int y[10]; for(int a= 0; a < 10; a++) {y[a]=x[a]; cout<<y[a]<<endl; } cin.get(); return 0; }
EI: juntando mensajes.osea... a y le queres asignar los valores de x??
emm dentro de string.h me parece que hay una funcion que es
strcat (var1,var2);
creo que esa te copiaba el valor de la var2 en la 1
strcat(); funciona con strings o cadena de caracteres, no con ints... ademas la funcion concatena el segundo parametro al primero... no asigna el valor del segundo al primero.
|
|
« Última modificación: 30 Agosto 2010, 17:15 pm por Eternal Idol »
|
En línea
|
|
|
|
clodan
Desconectado
Mensajes: 277
|
osea... a y le queres asignar los valores de x??
emm dentro de string.h me parece que hay una funcion que es
strcat (var1,var2);
creo que esa te copiaba el valor de la var2 en la 1
strcat(); funciona con strings o cadena de caracteres, no con ints... ademas la funcion concatena el segundo parametro al primero... no asigna el valor del segundo al primero. claaa... por eso, no entendi que es lo que queria hacer jajaja salu2!
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
mas me parecio que no sabias para que funcionaba strcat()
|
|
|
En línea
|
|
|
|
clodan
Desconectado
Mensajes: 277
|
mas me parecio que no sabias para que funcionaba strcat()
cual es la funcion que copiaba y pegaba arriba de una string?? strcpy ();??? strcat entonces es la que te copia al final el contenido de otra string, strcpy es la qe te copia el contenido de una a otra no??
|
|
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas! El codigo while(*(y + i) = *(x + i)) i++;
es correcto, ya que el ultimo valor de x es cero, y al asignarse dicho valor a la componente correspondiente de y, el valor almacenado en esa posicion sera utilizado para evaluar la condicion de continuidad del ciclo y sera falsa por ser cero. El codigo inicial parece ser correcto, lo unico que sobra (y no digo que no sea correcto, sino que sobra) es la variable a. Puedes volver a utilizar la variable i para mostrar el contenido de y. Otra cosa, intenta no usar la funcion system. Aunque este en la libreria estandar, se utiliza para pasar comandos al sistema operativo y por lo tanto tu codigo solo funcionara bajo un sistema operativo en particular. Utiliza getchar para que tu codigo sea portable. ¡Saludos!
|
|
« Última modificación: 31 Agosto 2010, 18:32 pm por do-while »
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
¡Buenas! El codigo while(*(y + i) = *(x + i)) i++;
es correcto, ya que el ultimo valor de x es cero, y al asignarse dicho valor a la componente correspondiente de y, el valor almacenado en esa posicion sera utilizado para evaluar la condicion de continuidad del ciclo y sera falsa por ser cero. El codigo inicial parece ser correcto, lo unico que sobra (y no digo que no sea correcto, sino que sobra) es la variable a. Puedes volver a utilizar la variable i para mostrar el contenido de y. Otra cosa, intenta no usar la funcion system. Aunque este en la libreria estandar, se utiliza para pasar comandos al sistema operativo y por lo tanto tu codigo solo funcionara bajo un sistema operativo en particular. Utiliza getchar para que tu codigo sea portable. ¡Saludos! Personalmente cuando escribi el nuevo codigo... no tome en cuenta cuando pasara el valor 0.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda de Bash; Referencia indirecta a arreglos mediante funciones.
Scripting
|
astinx
|
0
|
3,138
|
12 Noviembre 2011, 22:39 pm
por astinx
|
|
|
Duda sobre Arreglos(Arrays)
Java
|
Senior++
|
2
|
2,110
|
7 Diciembre 2012, 17:09 pm
por Senior++
|
|
|
duda con arreglos
Programación C/C++
|
sheva777
|
2
|
2,171
|
29 Mayo 2013, 16:03 pm
por rir3760
|
|
|
duda con arreglos
Java
|
droidZ
|
2
|
1,861
|
24 Septiembre 2013, 19:16 pm
por droidZ
|
|
|
duda con arreglos bidimensionales
Programación C/C++
|
nicolas04
|
1
|
2,057
|
26 Junio 2014, 21:23 pm
por Flakito81
|
|