Advertisement
fcamuso

Algoritmi lezione 9

Feb 15th, 2024
1,023
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.87 KB | None | 0 0
  1. //scansione lineare ma a passo due
  2.  
  3. #include <iostream>
  4. #include <chrono>
  5. #include <ctime>
  6. #include <random>
  7.  
  8. using namespace std;
  9. #include "../utility_vettori.h"
  10.  
  11.  
  12.  
  13. string cerca_stringa_min_max(string v[], int dimensione)
  14. {
  15.   string stringa_max = v[0];
  16.   string stringa_min = v[0];
  17.  
  18.   for (int i=1; i<dimensione; i++)
  19.     if (v[i]>stringa_max)
  20.       stringa_max = v[i];
  21.     else
  22.       if (v[i]<stringa_min)
  23.         stringa_min = v[i];
  24.  
  25.   return stringa_min + "/" + stringa_max;
  26. }
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. string cerca_stringa_min_max_SMART(string v[], int dimensione)
  34. {
  35.  
  36.   string stringa_max = "";
  37.   string stringa_min = "";
  38.   int inizia_da = -1;
  39.  
  40.   //ipotesi semplificatica: il numero di elementi รจ pari
  41. //  if (dimensione%2 ==  0)  //numero pari di elementi
  42. //  {
  43. //    if (v[0]<v[1])
  44. //    {
  45. //      stringa_min = v[0];
  46. //      stringa_max = v[1];
  47. //    }
  48. //    else
  49. //    {
  50. //      stringa_min = v[1];
  51. //      stringa_max = v[0];
  52. //    }
  53. //    inizia_da = 2;
  54. //  }
  55. //  else  //numero dispari di elementi
  56. //  {
  57. //    stringa_max = v[0];
  58. //    stringa_min = v[0];
  59. //
  60. //    inizia_da = 1;
  61. //  }
  62.  
  63.   if (v[0]<v[1])
  64.   {
  65.     stringa_min = v[0];
  66.     stringa_max = v[1];
  67.   }
  68.   else
  69.   {
  70.     stringa_min = v[1];
  71.     stringa_max = v[0];
  72.   }
  73.   inizia_da = 2;
  74.  
  75.   for (int i=inizia_da; i<dimensione-1; i+=2)
  76.     if (v[i]<v[i+1])
  77.     {
  78.       if (v[i] < stringa_min)
  79.         stringa_min = v[i];
  80.  
  81.       if (v[i+1] > stringa_max)
  82.         stringa_max = v[i+1];
  83.     }
  84.     else
  85.     {
  86.       if (v[i] > stringa_max)
  87.         stringa_max = v[i];
  88.  
  89.       if (v[i+1] < stringa_min)
  90.         stringa_min = v[i+1];
  91.     }
  92.  
  93.  
  94.   return stringa_min + "/" + stringa_max;
  95. }
  96.  
  97. const int QUANTI_ELEMENTI = 3000;
  98. const int LUNGHEZZA = 2000;
  99. string v[QUANTI_ELEMENTI];
  100.  
  101. int main()
  102. {
  103.  
  104.   carica_vettore_stringhe(v, QUANTI_ELEMENTI, LUNGHEZZA);
  105.  
  106.  
  107.  
  108.   return 0;
  109. }
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement