Advertisement
Guest User

tadaa

a guest
Dec 14th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.56 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <cstdio>
  5. using namespace std;
  6.  
  7. void czytaj_rownanie(float& a, float& b, float& c); //funkcja wczytuje wspolczynniki jednego rownania
  8. void wypisz_rozwiazanie(int N, float x, float y);
  9. float oblicz_wyznacznik(float p1, float p2, float p3, float p4);
  10. int oblicz_rozwiazanie(float a1, float b1, float c1, float a2, float b2, float c2, float& x, float& y);
  11. char* moje_strcpy(char t1[], char t2[]);
  12. void moje_strcmp(char tab1[], char tab2[]);
  13. int moje_strlen(char t[]);
  14. char* moje_strcat(char tab1[], char tab2[]);
  15. char* moje_strupr(char tb[]);
  16. char* moje_strlwr(char tb[]);
  17. int main(int argc, char* argv[])
  18. {
  19. int zadanie;
  20.  
  21. cout << "Autor: Dominika Kmiecik\n";
  22. cout << "Grupa: SR/N 04.12.2019 r. (Sroda nieparzysta)\n";
  23. cout << "Temat: Laboratorium 5, zadania\n";
  24. cout << "Data: 4 grudnia 2019 r. (Data edycji: 4 grudnia 2019r.)\n";
  25.  
  26.  
  27. do
  28. {
  29. cout <<"\n1. Zadanie 1\n";
  30. cout << "Zadanie 2: \n";
  31. cout << "2. Moje strcpy\n";
  32. cout << "3. Moje stcrmp\n";
  33. cout << "4. Moje strlen\n";
  34. cout << "5. Moje strcat\n";
  35. cout << "6. Zadanie 3\n";
  36. cout << "\nPodaj nr : ";
  37. cin >> zadanie;
  38.  
  39. switch (zadanie)
  40. {
  41. case 1:
  42. float a1, b1, c1;
  43. float a2, b2, c2;
  44. float x, y;
  45. int N;
  46.  
  47. czytaj_rownanie(a1, b1, c1);
  48. czytaj_rownanie(a2, b2, c2);
  49. oblicz_wyznacznik(a1, b1, a2, b2);
  50. N = oblicz_rozwiazanie(a1, b1, c1, a2, b2, c2, x, y);
  51. wypisz_rozwiazanie(N, x, y);
  52. break;
  53. case 2:
  54. char slowo1[200], slowo2[200];
  55. cout << "\nPodaj zawartosc pierwszej tablicy: ";
  56. cin >> slowo1;
  57. cout << "\nPodaj zawartosc drugiej tablicy: ";
  58. cin >> slowo2;
  59. moje_strcpy(slowo1, slowo2);
  60. cout << "\nPierwsza tablica: " << slowo1 << "\nDruga tablica: "<< slowo2;
  61. break;
  62. case 3:
  63. char tab1[200], tab2[200];
  64. cout << "\nPodaj zawartosc pierwszej tablicy: ";
  65. cin >> tab1;
  66. cout << "\nPodaj zawartosc drugiej tablicy: ";
  67. cin >> tab2;
  68. moje_strcmp(tab1, tab2);
  69. break;
  70. case 4:
  71. char tablica1[200], tablica2[200];
  72. cout << "\nPodaj zawartosc pierwszej tablicy: ";
  73. cin >> tablica1;
  74. cout << "\nPodaj zawartosc drugiej tablicy: ";
  75. cin >> tablica2;
  76. cout << "\nTab1 ";
  77. moje_strlen(tablica1);
  78. cout << "\nTab2 ";
  79. moje_strlen(tablica2);
  80. break;
  81. case 5:
  82. char zawartosc1[200], zawartosc2[200];
  83. cout << "\nPodaj zawartosc pierwszej tablicy: ";
  84. cin >> zawartosc1;
  85. cout << "\nPodaj zawartosc drugiej tablicy: ";
  86. cin >> zawartosc2;
  87. moje_strcat(zawartosc1, zawartosc2);
  88. break;
  89. case 6:
  90. char t1[200], t2[200];
  91. cout << "\nPodaj zawartosc pierwszej tablicy: ";
  92. cin >> t1;
  93. cout << "\nPodaj zawartosc drugiej tablicy: ";
  94. cin >> t2;
  95. cout << "\nTabela 1\n";
  96. moje_strupr(t1);
  97. cout << "\nstrup dla tab1: ";
  98. cout << t1;
  99. moje_strlwr(t1);
  100. cout << "\nstrlwr dla tab1: ";
  101. cout << t1;
  102. cout << "\nTabela 2\n";
  103. moje_strupr(t2);
  104. cout << "\nstrup dla tab2: ";
  105. cout << t2;
  106. moje_strlwr(t2);
  107. cout << "\nstrlwr dla tab2: ";
  108. cout << t2;
  109. break;
  110.  
  111. default:
  112. break;
  113. }
  114. } while (true);
  115.  
  116. }
  117.  
  118. void czytaj_rownanie(float& a, float& b, float& c)
  119. {
  120. printf("\nPodaj wspolczynnik a = ");
  121. scanf_s("%f", &a);
  122. printf("\nPodaj wspolczynnik b = ");
  123. scanf_s("%f", &b);
  124. printf("Podaj wspolczynnik c = ");
  125. scanf_s("%f", &c);
  126. }
  127. void wypisz_rozwiazanie(int N, float x, float y)
  128. {
  129. switch (N)
  130. {
  131. case 0:
  132. printf("\nBrak rozwiazan, uklad sprzeczny");
  133. break;
  134. case 1:
  135. printf("\nUklad ma jedno rozwiazanie x = %f y = %f", x, y);
  136. break;
  137. case 2:
  138. printf("\nUklad ma nieskonczenie wiele rozwiazan");
  139. break;
  140. }
  141. }
  142. float oblicz_wyznacznik(float p1, float p2, float p3, float p4)
  143. {
  144. float W = p1 * p4 - p2 * p3;
  145. return W;
  146. }
  147.  
  148.  
  149. int oblicz_rozwiazanie(float a1, float b1, float c1, float a2, float b2, float c2, float& x, float& y)
  150. {
  151. float wyznacznik = oblicz_wyznacznik(a1,b1,a2,b2);
  152. float Wx = c1 * b2 - c2 * b1;
  153. float Wy = a1 * c2 - a2 * c1;
  154. if (wyznacznik != 0)
  155. {
  156.  
  157. x = Wx / wyznacznik;
  158. y = Wy / wyznacznik;
  159.  
  160. return 1;
  161.  
  162. }
  163. if (oblicz_wyznacznik(a1,b1,a2,b2) == 0)
  164. {
  165.  
  166. if (Wx != 0 && Wy != 0)
  167. {
  168. return 0;
  169. }
  170. if (Wx == 0 && Wy == 0)
  171. {
  172. return 2;
  173. }
  174. }
  175. }
  176. char* moje_strcpy(char t1[], char t2[])
  177. {
  178. int i = 0;
  179. do
  180. {
  181. t2[i] = t1[i];
  182. i++;
  183. } while (t2[i]!=0);
  184. return t2;
  185.  
  186. }
  187. void moje_strcmp(char tab1[], char tab2[])
  188. {
  189. bool podobne = true;
  190.  
  191. int i=0;
  192. do
  193. {
  194. if (tab1[i] == tab2[i])
  195. {
  196. podobne = true;
  197. }
  198. else
  199. {
  200. podobne = false;
  201. }
  202. i++;
  203. } while (podobne==true && (tab1[i] != 0 || tab2[i] != 0));
  204.  
  205. if (podobne==true)
  206. {
  207. cout << "\ntab1[] i tab2[] sa takie same";
  208. }
  209. else
  210. {
  211. cout << "\ntab1[] i tab2[] nie sa takie same";
  212. }
  213.  
  214. }
  215.  
  216. int moje_strlen(char t[])
  217. {
  218. int i = 0,znaki=0;
  219. do
  220. {
  221. if (t[i]!=0)
  222. {
  223. znaki++;
  224. }
  225. i++;
  226. } while (t[i]!=0);
  227. cout << "\nsklada sie z " << znaki << " znakow";
  228. return znaki;
  229. }
  230.  
  231. char* moje_strcat(char tab1[], char tab2[])
  232. {
  233. char tab[200] = { 0 };
  234. cout << "tab1 = ";
  235. int i = 0;
  236. do
  237. {
  238. tab[i] = tab1[i];
  239. i++;
  240. } while (tab1[i] != 0);
  241. int j = 0;
  242. do
  243. {
  244. tab[i] = tab2[j];
  245. i++;
  246. j++;
  247.  
  248. } while (tab2[j-1] != 0);
  249. cout << tab;
  250. return tab;
  251. }
  252.  
  253. char* moje_strupr(char tb[])
  254. {
  255. int i = 0;
  256. do
  257. {
  258. if (tb[i] >= 'a' && tb[i] <= 'z')
  259. {
  260. tb[i] -= 32;
  261.  
  262. }
  263. i++;
  264. } while (tb[i]!=0);
  265. return tb;
  266. }
  267.  
  268. char* moje_strlwr(char tb[])
  269. {
  270. int i = 0;
  271. do
  272. {
  273. if (tb[i]>='A' && tb[i]<='Z')
  274. {
  275. tb[i] += 32;
  276. }
  277. i++;
  278. } while (tb[i]!=0);
  279. return tb;
  280. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement