L'uso di valiabili anonime, specie per i neofiti, possono generare confusione e sovrascritture indesiderate
Le sctringhe in stile C vanno confrontate con l'apposita funzione di libreria strcmp(), non puoi usare il semplice operatore ==

codice:
#include<iostream>

using namespace std;

void clear_stdin() 
{
    int ch;
    while((ch=getchar())!='\n' && ch!=EOF);
}

int main()
{
    int i, max;
    char valoreDaCercare[50];
    char ArrayDiStringhe[100][50];
    cout<<"Quanti valori vuoi inserire? (tra 1 e 100) "; //dichiarazione della lunghezza del vettore
    cin>>max;
    if( max<1 || max>100 )
        cout<<"Valore inserito non valido."<<endl; //se il numero non e' compreso fra 1 e 100 allora manda errore, altrimenti prosegue
    else
    {
        for(i=0; i<max; i++) //riempimento vettore
        {
            cout<<"Inserisci un valore ["<<i<<"/"<<max<<"]: ";
            cin>>ArrayDiStringhe[i];
        }
        cout<<"Quale valore vuoi trovare? "; //richiesta della parola da trovare
        cin>>valoreDaCercare;
        
        for( i=0; i<max; i++) //ciclo di controllo del vettore
            if( !strcmp( ArrayDiStringhe[i], valoreDaCercare) ) //se la parola inserita corrisponde al vettore di cella i allora trovato e' vero
                break;
        if( i<max ) 
            cout<<"Valore trovato nella posizione "<<i<<"."<<endl; //output del risultato
        else 
            cout<<"Valore non trovato."<<endl;
    }
    clear_stdin();
    cin.get();
    return 0;
}