Guest User

scalanie

a guest
Apr 16th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. // Scalando.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <stdlib.h>
  7. #include <conio.h>
  8. #include <cstdlib>
  9. #define MAX 100;
  10. using namespace std;
  11.  
  12. void scal(double *tab_1, double *tab_2, double *tab_3, int roz_1, int roz_2)
  13. {
  14. int licznik_A = 0;
  15. int licznik_B = 0;
  16. if (tab_1[roz_1 - 1] <= tab_2[roz_2 - 1])
  17. {
  18. for (int i = 0; i<roz_1; i++)
  19. {
  20. tab_3[i] = tab_1[i];
  21. }
  22. for (int i = 0; i<roz_2; i++)
  23. {
  24. tab_3[i + roz_1] = tab_2[i];
  25. }
  26. }
  27.  
  28. else {
  29. for (int i = 0; i < (roz_1 + roz_2); i++)
  30. {
  31. if (licznik_A >= roz_1)
  32. {
  33. tab_3[i] = tab_2[licznik_B];
  34. licznik_B++;
  35. }
  36.  
  37. if (licznik_B >= roz_2)
  38. {
  39. tab_3[i] = tab_1[licznik_A];
  40. licznik_A++;
  41. }
  42.  
  43. if (tab_1[licznik_A]>tab_2[licznik_B])
  44. {
  45. tab_3[i] = tab_2[licznik_B];
  46. licznik_B++;
  47. }
  48.  
  49. else if (tab_2[licznik_B]>tab_1[licznik_A])
  50. {
  51. tab_3[i] = tab_1[licznik_A];
  52. licznik_A++;
  53. }
  54. }
  55. }
  56. }
  57.  
  58. void scal_2(double *tab_1, double *tab_2, double *tab_3, int roz_1, int roz_2)
  59. {
  60. int licznik_B = 0;
  61. int i = 0;
  62. for (int licznik_A = 0; licznik_A<roz_1; licznik_A++)
  63. {
  64. while (tab_1[licznik_A]>tab_2[licznik_B] && licznik_B<roz_2)
  65. {
  66. tab_3[i] = tab_2[licznik_B];
  67. licznik_B++;
  68. i++;
  69. }
  70. tab_3[i] = tab_1[licznik_A];
  71. i++;
  72. }
  73. cout << endl;
  74. }
  75.  
  76.  
  77.  
  78. int _tmain(int argc, _TCHAR* argv[])
  79. {
  80. double ciagA[] = { 1, 2, 3, 4, 5 };
  81. double ciagB[] = { 6, 7, 8, 8, 8, 9 };
  82. double ciagC[] = { 1, 5, 7, 9 };
  83. double ciagD[] = { 2, 3, 4, 6, 8 };
  84. double ciagE[100];
  85. double ciagF[100];
  86. double tab_3[100];
  87. double n, m, pom = 0, liczba = 0;
  88.  
  89. cout << "Podaj ile liczb mamy wylosowac do 1 ciagu\n";
  90. cin >> n;
  91. for (int i = 0; i<n; i++)
  92. {
  93. liczba = (rand() % 30);
  94. if (liczba<pom)
  95. {
  96. i--;
  97. }
  98. else
  99. {
  100. ciagE[i] = liczba;
  101. pom = liczba;
  102. }
  103. }
  104. for (int i = 0; i<n; i++)
  105. {
  106. cout << ciagE[i] << " ";
  107. }
  108.  
  109. pom = 0; liczba = 0;
  110.  
  111. cout << "Podaj ile liczb mamy wylosowac do 2 ciagu\n";
  112. cin >> m;
  113. for (int i = 0; i<m; i++)
  114. {
  115. liczba = (rand() % 30) + 0;
  116. if (liczba<pom)
  117. {
  118. i--;
  119. }
  120. else
  121. {
  122. ciagF[i] = liczba;
  123. pom = liczba;
  124. }
  125. }
  126. for (int i = 0; i<m; i++)
  127. {
  128. cout << ciagF[i] << " ";
  129. }
  130.  
  131. int rozmiar_1 = sizeof(ciagA) / sizeof(double);
  132. int rozmiar_2 = sizeof(ciagB) / sizeof(double);
  133. int rozmiar_3 = sizeof(ciagC) / sizeof(double);
  134. int rozmiar_4 = sizeof(ciagD) / sizeof(double);
  135. int rozmiar_5 = sizeof(ciagE) / sizeof(double);
  136. int rozmiar_6 = sizeof(ciagF) / sizeof(double);
  137.  
  138. scal(ciagA, ciagB, tab_3, rozmiar_1, rozmiar_2);
  139. cout << "\nScalona tablica 1\n";
  140. for (int i = 0; i<(sizeof(ciagA) / sizeof(double) + sizeof(ciagB) / sizeof(double)); i++)
  141. {
  142. cout << tab_3[i] << " ";
  143. }
  144. scal(ciagC, ciagD, tab_3, rozmiar_3, rozmiar_4);
  145. cout << "\nScalona tablica 2\n";
  146. for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
  147. {
  148. cout << tab_3[i] << " ";
  149. }
  150. scal_2(ciagC, ciagD, tab_3, rozmiar_3, rozmiar_4);
  151. cout << "\nScalona tablica 3\n";
  152. for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
  153. {
  154. cout << tab_3[i] << " ";
  155. }
  156.  
  157.  
  158. scal(ciagE, ciagF, tab_3, rozmiar_5, rozmiar_6);
  159. cout << "\nScalona tablica 4\n";
  160. for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
  161. {
  162. cout << tab_3[i] << " ";
  163. }
  164. scal_2(ciagE, ciagF, tab_3, rozmiar_5, rozmiar_6);
  165. cout << "\nScalona tablica 5\n";
  166. for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
  167. {
  168. cout << tab_3[i] << " ";
  169. }
  170. system("pause");
  171. return 0;
  172. }
Advertisement
Add Comment
Please, Sign In to add comment