Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Programmino in C  aiuto [URGENTE]
Forum - C/C++ - Programmino in C aiuto [URGENTE]

Avatar
arthorius (Normal User)
Newbie


Messaggi: 1
Iscritto: 04/12/2008

Segnala al moderatore
Postato alle 19:03
Giovedì, 04/12/2008
Salve ragazzi allora io avrei qst traccia da sviluppare /*Siano dati due array x ed y di lunghezza n contenenti le informazioni relative a dei
punti in uno spazio bidimensionale. Implementare una funzione che determina se un
punto dato dall’utente è contenuto in entrambi gli array (usare l’algoritmo di ricerca
binaria).  
Gli  array  vengono  inizializzati  casualmente  con  valori  float  nell’intervallo  [-
100,100].  Per generare a caso un numero di tipo float  nell’intervallo [-100,100],
si ricorda che, se x_casuale è dichiarata di tipo float, allora l’istruzione
x_casuale=-100.0F+200.0F*(float)rand()/(float)MAX_RAND; */

Il codice che sono riuscito a creare è qst
Codice sorgente - presumibilmente C++

  1. # include <stdio.h>
  2. # include <stdlib.h>
  3. #include<time.h>
  4. # define q 5 /*Questa costante rappresenta il lato dell'array bidimensionale
  5. quadrato*/
  6.  
  7. void inizializza(float array_x[q],float array_y[q]);
  8. void stampa2D(float array_x[q],float array_y[q]);
  9. int appartiene (float chiave, float array_x[q], float array_y[q],int n, int m);
  10. int main()
  11. {
  12. /*Dichiarazione dell'array 2D che conterrà i valori
  13. casuali.*/
  14. float array_x[q];
  15. float array_y[q];
  16. int i,j,n,m;
  17. float chiave;
  18. printf("*Valori dell'array 2D generati a caso da -100 a 100:\n\n");
  19. inizializza(array_x, array_y);
  20. stampa2D(array_x,array_y);
  21.  
  22.  printf("Inserire le coordinate del punto:    \n");
  23.  scanf("%f",&chiave);
  24.  appartiene (chiave,array_x,array_y, n,m);
  25. system ("PAUSE");
  26. return 0;
  27. }
  28.  
  29. void inizializza(float array_x[q],float array_y[q])
  30. {
  31. int i,j;
  32. float x_casuale=0.0;
  33. float y_casuale=0.0;
  34. srand( time(NULL)); /*Questa istruzione viene utilizzata per inizializzare il
  35. generatore casuale ad un valore diverso per ogni esecuzione del programma.*/
  36. for (i=0; i<q ;i++)
  37.  
  38. {
  39. float x_casuale=-100.0F+200.0F*(float)rand()/(float)RAND_MAX;
  40. array_x[i]=x_casuale;
  41. }
  42. for (j=0; j<q; j++)
  43. {
  44.      float y_casuale=-100.0F+200.0F*(float)rand()/(float)RAND_MAX;
  45.      array_y[j]=y_casuale;
  46.      }
  47.  
  48. /* Questo blocco di istruzioni permette di inizializzare un array bidimensionale con
  49. valori casuali reali e uniformemente distribuiti nell'intervallo [-100,100]*/
  50. }
  51. void stampa2D(float array_x[q],float array_y[q])
  52. {
  53. int i,j;
  54. printf("array_1\n\n");
  55. for (i=0; i<q ;i++)
  56. {  
  57.     printf(" | %.2f | ",array_x[i]);
  58.     printf("\n\n");
  59. }
  60.  
  61. for (j=0; j<q; j++){
  62. printf("| %.2f |",array_y[j]);}
  63. printf("\n\n");
  64.  
  65.  
  66. }
  67. int appartiene (float chiave, float array_x[q], float array_y[q],int n, int m)
  68. {
  69.     int i,j;
  70.     {for(i=0;i<n;i++)
  71.      {for(j=0;j<m;j++)
  72.          
  73.       if(chiave==array_x[i] &&  array_y[j])
  74. return 1;
  75.          if(chiave!=array_x[i]&& array_y[j])
  76. return 0;
  77.        }
  78.     }
  79. }



ma sinceramente mi si inpalla e nn riesco a capire il perchè vi prego è una cosa urgente.....:d:d:d:d:d

PM Quote