Autor
|
Tema: Ayuda array (Leído 2,475 veces)
|
alexis33de
Desconectado
Mensajes: 56
|
Hola veran lo que quiero hacer es comparar los caracteres de un mismo array, por Ejm: tengo una palabra "hholla", y quiero que compare las letras que tienen al lado, si son iguales que escriba un 1 y si no son que escriba un 0. En la palabra que puse me debería escribir un "10010" ya que compara la posición i con la posicion i+1 , esto es lo que tengo hasta ahora #include <iostream.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char a[20]; int i=0; cout<<"coloque la palabra a:"<<endl; gets(a); while( i<=strlen(a)) { int ind=0; if(a[ind]==a[1+i]){ cout<<"1"<<endl; } else{ cout<<"0"<<endl; } ind++; } system("pause"); return 0; }
|
|
|
En línea
|
|
|
|
SpesMod
Desconectado
Mensajes: 83
-reflejo-
|
Puedes reducir tu codigo asi: #include <iostream.h> #include <string.h> #include <stdio.h> #include <stdlib.h> int main() { char a[20]; int i=0, j=0, x; cout<<"coloque la palabra a:"<<endl; gets(a); while(a[j]!='\0') { x=0; if(a[j]==a[j+1]) x++; cout<<x; j++; } system("pause"); return 0; }
No es la mejor forma que hay, pero es lo primero que se me ocurrio.
|
|
|
En línea
|
|
|
|
Khronos14
Desconectado
Mensajes: 443
A lie is a lie
|
¿Algo como esto? #include <iostream> using namespace std; int main(int argc, char * argv[]) { char buffer[20]; cout << "Introduce una cadena: "; cin.get(buffer, 20); for (int i = 0; i < strlen(buffer) - 1; i++) { if (buffer[i] == buffer[i + 1]) cout << "1"; else cout << "0"; } return 0; }
Saludos.
|
|
|
En línea
|
|
|
|
El_Java
|
Puede resultar más sencillo hacerlo de esta forma: #include <iostream> using namespace std; int main(){ string a; cout << "Coloque la palabra a: " << endl; cin >> a; for (int x=0; x<sizeof(a); x++){ if(a[x] == a[x+1]) cout << 1; else cout << 0; } return 0; }
Si necesitais alguna aclaracion decidmelo. (Uso string para no tener preocuparme por el tamaño del array).
|
|
|
En línea
|
|
|
|
alexis33de
Desconectado
Mensajes: 56
|
Vale muchas gracias a todos por ayudarme ahora ya tengo mas claro, la comparación de arrays, solo tengo una pequeña duda mas, vi que tmb funciona con números (que ya no es lo que yo quería ,pero me entro la duda XD), y me puse a ver si aceptaba números con decimales, probé usando el gets para captural el numero mas el punto("."), pero vi que el numero lo compara con el punto, hay otra forma de que solo compare o bien letras o bien números, pero omita el "punto"?
EJM: pongo aa.a y me devuelve un 100 xq esta comparando con el punto SALUDOS
|
|
|
En línea
|
|
|
|
El_Java
|
para ignorar se usa la funcion ignore. Por ejemplo: cin.ignore(50,'.');
Esto se pone antes de hacer el cin >> a y lo que consigues es que ignore, en este caso, 50 puntos. Asi creo que si saldra como tu quieres. Al poner aa.a te leera aaa por lo que si que te va a dar 111
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Copiar parte de una array a otra array
Programación Visual Basic
|
sircid
|
3
|
5,254
|
19 Diciembre 2007, 11:27 am
por LeandroA
|
|
|
Ayuda en C# con array de objetos
.NET (C#, VB.NET, ASP)
|
DaNuK
|
5
|
14,156
|
19 Abril 2010, 07:10 am
por DaNuK
|
|
|
[Ayuda] Array en CSocketPlus
Programación Visual Basic
|
VampireLord
|
3
|
2,519
|
30 Junio 2010, 04:49 am
por VampireLord
|
|
|
ayuda con array
Programación C/C++
|
dulcevictoria
|
1
|
2,517
|
7 Diciembre 2010, 23:53 pm
por winroot
|
|
|
Ayuda con un array!
PHP
|
kodeone
|
5
|
2,654
|
4 Enero 2011, 11:04 am
por kodeone
|
|