Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    23

    [C/C++] Esistenza di un sottovettore palindromo

    Scusate..ho sempre il solito problema con questi programmi. Devo scrivere un programma che legga da tastiera gli elementi di un vettore di dimensione 10 e dica se esiste un sottovettore palindromo di lunghezza maggiore di 1. Io ho tentato di scriverlo così ma non mi fa nemmeno compilare:

    codice:
    # include <stdio.h> 
    # include <stdlib.h> 
    # define n 10 
    # define m>1  
    int main(){     
    int V[n]; 
    int i;
    int A[m];
    int start;
    int end;
    int count;
    int j;
    for(i=0;i<n;i++){       
    scanf("%d %d %d %d %d %d %d %d %d %d",&(V[0]), &(V[1]), &(V[2]), &(V[3]), &(V[4]), &(V[5]), &(V[6]), &(V[7]), &(V[8]), &(V[9]));}       
    for(i=0;i<n && count!=m;i++){         
    for(j=0;j<m;j++)           
    if(V[i]==A[j])           
    {            
     count++;             
    j++;             }           
    else           
    { count=0;             
    j=0;              
    if(V[i]==A[0])             
    i--;             }}             
    int palindromo(A vettore, int start, int end)             
    if(start==end) return 1;             
    if(start+1==end) return (A[start]==A[end]);             
    return (A[start]==A[end] && palindromo(V,start+1,end-1))             }
    la funzione ricorsiva dovrebbe essere giusta, ho provato ad applicarla e funziona, quindi il problema è nel definire il sottovettore.

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Qual'è l' errore?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    23
    Praticamente mi da errore esattamente qui:

    codice:
    for(i=0;i<n && count!=m;i++){         
    for(j=0;j<m;j++)           
    if(V[i]==A[j])           
    {             
    count++;            
     j++;             }           
    else          
     { 
    count=0;             
    j=0;              
    if(V[i]==A[0])             
    i--;             
    }}
    Quindi proprio nella definizione di sottovettore..però non riesco proprio a capire cosa sbaglio!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    "Praticamente mi da errore esattamente qui:"

    ma quale errore??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    23
    mi da errore a
    codice:
    for(j=0;j<m;j++)

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Ma perché ci fai ripetere sempre la stessa domanda?

    QUALE errore?

    QUALE messaggio d'errore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Tu scrivi:
    codice:
    # define m>1
    ...
    for(j=0;j<m;j++)
    Il compilatore capisce:

    codice:
    for(j=0;j<>1;j++)
    E quindi ti spernacchia, cambia quel define...
    ...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Veramente quel define non è lecito ... dovrebbe dare un errore il compilatore a compile time.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    Veramente quel define non è lecito ... dovrebbe dare un errore il compilatore a compile time.
    Infatti è quello che dice lui:
    Originariamente inviato da Pumpi
    Io ho tentato di scriverlo così ma non mi fa nemmeno compilare:
    ...

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Sì, ma non nella linea della

    for

    come dice, ma proprio nella linea della

    #include

    Ovvero, la sostituzione di cui parli non dovrebbe neanche essere fatta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.