Anuncios Google

Comparacion de arreglos (Resuelto)

Estoy haciendo pruebas para comparar Arreglos

pero tengi problemas al compararlos completos

por ejemplo si comparo

if (Arreglo1[1]==Arreglo2[2]) cout<<"Si"<<endl;

to esta bien pero en el siguiente codigo trato

de que al hacer la comparacion Marque un texto

disiendo SI y de lo contrario No

Los arreglos son iguales pero dice que no...  ¿Cual es el problema?

#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main(){
    char Uno[5]="Hola", Dos[5]="Hola";
 
    if (Uno==Dos) cout<<"Si"<<endl;
    else cout<<"no"<<endl;
 
    return (0);
}


                                                          Ricx-Dark

  "El conocimiento es poder: no lo malgastes ni un solo dia aprende, aprende, aprende!"

           "Para un soldado el arma es su vida pero este da muerte a los demas"


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de recoco

Porque

Porque los vectores o arrays no se comparan como variables, tiene que recorrer ambas cadenas:

bool seguir=true;
 
if(strlen(Uno)!=strlen(Dos)){
     seguir=false;
}
else{
   for(int i=0; i<strlen(Uno) and seguir; i++){
     if(Uno[i]!=Dos[i]){
       seguir=false; 
     }
   }
}
if(seguir){
   cout<<"Si"<<endl;
}
else{
   cout<<"No"<<endl;
}


Image Hosted by ImageShack.us 

Imagen de Ricx-Dark

Si ya sabia como recorrelas

Si ya sabia como recorrelas mientras se comparan solo queria saber si

se podian comparar completas y ya me sacaste de la duda muchas gracias!!Risa


                                                          Ricx-Dark

  "El conocimiento es poder: no lo malgastes ni un solo dia aprende, aprende, aprende!"

           "Para un soldado el arma es su vida pero este da muerte a los demas"

Para cadenas de caracteres,

Para cadenas de caracteres, puedes usar la funcion strcmp:

 

#include <stdio.h>
#include <string.h>
 
int main()
{
 
  char Uno[5]="Hola", Dos[5]="Hola";
 
   if (strcmp(Uno,Dos) == 0)
      cout<<"Si"<<endl;
   else cout<<"no"<<endl;
 
   cin.get();
 
   return 0;
}

 

Aunque si estás usando C++ lo ideal esque uses los strings:

 

string Uno = "Tonteria";
string Dos= "Tonteria";
 
if (Uno == Dos) cout<<"Si";

 

Tiene a su vez muchas funciones internas para trabajar con ellos:

http://www.cplusplus.com/reference/string/string/

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.