pborawski

liczby losowe bez powtorzen z tablicy

Jul 16th, 2012
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. int wczytaj()
  6. {
  7. int liczba;
  8. std::cin >> liczba;
  9. return liczba;
  10. }
  11. void wczytajTablice( int t[], int ile)
  12. {
  13. int i = 0;
  14. do
  15. {
  16. t[ i ] = wczytaj();
  17. i++;
  18. } while( i < ile );
  19. }
  20. bool sprCzyJestTaka( int t[], int liczba, int ile )
  21. {
  22. if( ile <= 0 )
  23. return false;
  24. int i = 0;
  25. do
  26. {
  27. if( t[ i ] == liczba )
  28. return true;
  29. i++;
  30. } while( i < ile );
  31.  
  32. return false;
  33. }
  34. int losuj()
  35. {
  36. return rand()%8 + 1;
  37. }
  38.  
  39. /* Wypisuje przekazana tablice t[] o rozmiarze "ile"/
  40. * Sprawdza w petli czy dana liczba sie powtarza.
  41. * Jeśli nie to wypisuje.
  42. */
  43. void wypisujTablice( int t[], int ile )
  44. {
  45. int i = 0;
  46. int tmp[ ile ];
  47. do
  48. {
  49. tmp[ i ] = t[ losuj() ];
  50. if( sprCzyJestTaka( tmp, tmp[i], i) == false )
  51. {
  52. std::cout << "Losowa: " << tmp[ i ] << std::endl;
  53. i++;
  54. }
  55.  
  56. } while( i < ile );
  57. }
  58. int main(int argc, char** argv)
  59. {
  60. srand( time( NULL ) );
  61. int liczby[ 10 ];
  62. int ileLiczb = 0;
  63. std::cout << "Wczytaj 10 liczb: ";
  64. wczytajTablice( liczby, 10 );
  65. std::cout << "Wypisuje Tablice: " << std::endl;
  66. wypisujTablice( liczby, 8 );
  67. system("pause");
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment