|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 968
|
Trovare parola dentro una matrice[c]
Ciao a tutti, non riesco a risolvere questo programma neanche per sbaglio
non so neanche che algoritmo che creare nada de nada, sono proprio in alto mare
|
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Oct 2012
Città: firenze
Messaggi: 4
|
Mi limito ad indirizzarti con la logica, se hai problemi con il codice ne discutiamo in futuro.
- Prendi la prima riga del file di testo - conta le occorenze di quella riga (variabile N) - conta le righe del file (variabile M) - crea una matrice di caratteri M*N e riempila. - Prendi la prima lettera della parola passata in input e cercala scorrendo la matrice colonna per colonna e riga per riga. - ad ogni condizione verificata, se la lettera in posizione N+1 è = alla seconda lettera, continui con la terza e così via fino a verificare che la parola è presente, se la condizione non viene verificata, ripeti il tutto andando clockwise sotto (M+1,N); poi sinistra (M,N-1); poi sopra (M-1, N). Ricorda di gestire gli ArrayIndexOutOfBoundException. Per qualsiasi problema chiedi pure |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 968
|
Quote:
#include <stdlib.h> #include <string.h> #define R 24 #define C 70 int main(int argc, char *argv[]) { char v[C+1],col[R+1][C+1]; int i=0,j=0,u,p,q,lunghezzaparola; FILE *f; f=fopen(argv[1],"r"); while(fgets(v,C+1,f)!=NULL) { sscanf(v,"%c",&col[i][j]); i++; j++; } if((i>24)||(j>70)) { printf("non valido"); } else for(u=0;u<i;u++) { if( strstr(col[u],argv[2])!=NULL) { printf("a righa e' %d\n "u,) } } return 0; } sostanzialmente pensavo di trovarla per righe e poi fare la trasposta e trovarla per colonna,che ne pensi??solo una cosa però, come faccio a trovare la colonna di inizio e quella della fine??(cioè es "la parola inizia dalla colonna y e finisce in quella x) |
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Oct 2012
Città: firenze
Messaggi: 4
|
puoi utilizzare il tag [code] per rendere il tuo codice più leggibile perfavore?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:54.










non so neanche che algoritmo che creare nada de nada, sono proprio in alto mare










