Oppure

Loading
01/05/09 9:34
lorenzo
ho dato un'occhiata al tuo codice e...come al solito non ha ancora capito la differenza tra caratteri e stringhe.

Spiegami cosa vorresti fare con questo:
if(testo==parola[0])
quando testo è un array di char[40] mentre parola [0] è un singolo carattere.
E mi cbhiedo quindi come faccia a funzionarti...ma sei davvero sicuro di averlo
compilato?

Comunque non ho capito molto bene l'algoritmo che usi, cosa ti serve un ciclo while interno ad un ciclo for nel quale poi aumenti la variabile del for(vedi i++)???
aaa
01/05/09 9:49
theprogrammer
Lorenzo ... quella riga

if(testo==parola[0])

e' in realta'

if(testo[i]==parola[0])   


ma l'indice i viene inteso come codice per il corsivo dal forum finche' non si usa CORRETTAMENTE il tasto code ...

E cosi' anche per il grassetto in un'altra parte del codice.

Se rispondo in una certa maniera, non e' per fare il "difficile" ...
aaa
01/05/09 10:03
lorenzo
vero, non ci avevo pensato....eliminiamo allora la prima parte del mio commento anche se tengo ancora la seconda.. :k:
aaa
01/05/09 10:45
Anonymous
se gli quotate il messaggio riottenete l'originale senza le modifiche effettuate dai tag di corsivo e grassetto...

ecco come dovrebbe essere: (aveva messo il codice all'esterno dai tag code quindi era come se non lo aveva messo :)
 // stringa forse.cpp : definisce il punto di ingresso dell'applicazione console.
//

// dai.cpp : definisce il punto di ingresso dell'applicazione console.
//

#include "stdafx.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
typedef char stringa[40];
void leggi(stringa testo,stringa parola);
void cerca(stringa testo,stringa parola,int &n);
void visualizza(stringa testo,stringa parola,int &n);

void main()
{
stringa parola,testo;
int n;
bool flag=false;
char rip;
cout<<"\n\nIserisci il testo(max 40 caratteri,con l'ultimo car.=' ') : "<<endl;
gets(testo);
do
{
	
    cout<<"\nInserisci la parola da cercare(max 40 caratteri) : "<<endl;
    cin>>parola;
    cout<<"continuare?"<<endl;
    cin>>rip;
	if(rip=='S'||rip=='s')
	{
		cerca(testo,parola,n);
        visualizza(testo,parola,n);
	    flag=false;
	}
	else
	{
		flag=true;
	}
 
}
while(flag=true);
system("pause");
}

void cerca(stringa testo,stringa parola,int &n)
{
   int i,j,a,b;
   //conta dei caratteri
   a=strlen(parola); //cout<<"\n"<<a;
   b=strlen(testo); //cout<<"\n"<<b;
   //testo[b]=' ';
   //b=b+1;
   //controllo
   n=0;
   cout<<"controllo :"<<n;
   for(i=0;i<b;i++)
   {
     if(testo[i]==parola[0])   
	 {
       j=1;
       while(parola[j]==testo[i+1] && i<b)
       {
         j++;
         i++;
       }
       if(j==a)
         n=n+1;
	     cout<<n;
	 }
   }
}

void visualizza(stringa testo,stringa parola,int &n)
{
  cout<<"Il testo digitato e' :  "<<testo<<endl;

  cout<<"La parola da confrontare e' : "<<parola<<endl; 
  cout<<parola;
  cout<<"Tale parola e' presente nel testo n= "<<n<<" volte."<<endl;
}



Ultima modifica effettuata da Anonymous 01/05/09 10:46
aaa
01/05/09 10:53
theprogrammer
Postato originariamente da Anonymous:

se gli quotate il messaggio riottenete l'originale senza le modifiche effettuate dai tag di corsivo e grassetto...


E se lo facesse lui, che ha il problema, invece di rispondere in quel modo?

aaa
01/05/09 11:26
Anonymous
sisi su questo hai ragione...

infatti è per questo motivo che non rispondo alle domande...

chiede aiuto e tratta male chi cerca di offrirglielo...
aaa