Advertisement
Wolfrost

C++ // Esercizio

Dec 18th, 2015
1,000
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.32 KB | None | 0 0
  1. /*
  2. Genera casualmente 10 numeri, memorizzali in un array ed effettua lo scambio fra il massimo
  3. ed il minimo elemento (supponendo che gli elementi dell'array siano tutti distinti fra loro)
  4. */
  5.  
  6. #include <iostream>
  7. #include <time.h>
  8. #include <cstdlib>
  9. #include <math.h>
  10. #define DIM 10
  11. #define LIMITE 10000
  12. using namespace std;
  13.  
  14. void printArray(long long array[], const int dim) {
  15.     for (int i=0; i<dim; i++) {
  16.         cout<<array[i]<<" | ";
  17.     }
  18. }
  19.  
  20. long long trovaMax(long long array[], const int dim) {
  21.     long long valMax = -1;
  22.     for (int i=0; i<dim; i++) {
  23.         if (valMax<array[i]) valMax = array[i];
  24.     }
  25.     return valMax;
  26. }
  27.  
  28. long long trovaMin(long long array[], const int dim) {
  29.     long long valMin = array[0];
  30.     for (int i=0; i<dim; i++) {
  31.         if (valMin>array[i]) valMin = array[i];
  32.     }
  33.     return valMin;
  34. }
  35.  
  36. int trovaIndexMax(long long array[], const int dim) {
  37.     int indexMax = 0;
  38.     long long maxval = trovaMax(array, dim);
  39.     for (int i=0; i<dim; i++) {
  40.         if (array[i]==maxval) indexMax = i;
  41.     }
  42.     return indexMax;
  43. }
  44.  
  45. int trovaIndexMin(long long array[], const int dim) {
  46.     int indexMin = 0;
  47.     long long minval = trovaMin(array, dim);
  48.     for (int i=0; i<dim; i++) {
  49.         if (array[i]==minval) indexMin = i;
  50.     }
  51.     return indexMin;
  52. }
  53.  
  54. /*bool controllaSeUguali(long long array[], const int dim) {
  55.     bool uguale = false;
  56.     int i, j = 0;
  57.     for (i=0; i<dim; i++) {
  58.         for (j=0; j<dim; j++) {
  59.             if (array[i]==array[j]&&j!=i) {
  60.                 uguale = true;
  61.                 break;
  62.             }
  63.         }
  64.     }
  65.     return uguale;
  66. }
  67. */
  68.  
  69. int main() {
  70.    
  71.     long long array[DIM];
  72.     long long maxval = 0;
  73.     long long minval = 0;
  74.     int ind_maxval = 0;
  75.     int ind_minval = 0;
  76.     srand((unsigned)time(NULL));
  77.    
  78.     for (int i=0; i<DIM; i++)
  79.         array[i] = rand()%LIMITE+1;
  80.        
  81.     printArray(array, DIM);
  82.     maxval = trovaMax(array, DIM);
  83.     minval = trovaMin(array, DIM);
  84.     ind_maxval = trovaIndexMax(array, DIM);
  85.     ind_minval = trovaIndexMin(array, DIM);
  86.    
  87.     cout<<"\n\nIl massimo valore di questo array e': "<<maxval<<endl;
  88.     cout<<"Il minimo valore di questo array e': "<<minval<<endl;
  89.     cout<<"L'indice del massimo valore e': "<<ind_maxval<<endl;
  90.     cout<<"L'indice del minimo valore e': "<<ind_minval<<endl;
  91.     cout<<"\nOra effettuero' lo scambio."<<endl;
  92.     array[ind_minval] = maxval;
  93.     array[ind_maxval] = minval;
  94.     cout<<"\nFatto. Il nuovo array e':"<<endl;
  95.     printArray(array, DIM);
  96.    
  97.     return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement