Guest User

Untitled

a guest
Feb 22nd, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.55 KB | None | 0 0
  1. // Urok 4 Module 4
  2. //
  3. // Created by Olzhas on 1/23/18.
  4. // Copyright © 2018 Olzhas. All rights reserved.
  5. //
  6.  
  7. #include <iostream>
  8. #include <stdio.h>
  9. #include <locale.h>
  10. #include <math.h>
  11.  
  12.  
  13. using namespace std;
  14.  
  15. int main ()
  16. {
  17. setlocale (LC_ALL, "Rus");
  18.  
  19. /*Курс: Программирование на языке С
  20.  
  21. Тема: Циклы, использование отладчика
  22.  
  23. ZADACHA #1.
  24.  
  25. Даны два целых числа A и B (A < B). Найти все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.
  26. */
  27. /*
  28. int A, B;
  29.  
  30. cout << "Введите целое числа А: " <<endl;
  31. cin >> A;
  32.  
  33. cout << "Введите целое чило В (при условии А<B): " <<endl;
  34. cin >> B;
  35.  
  36. cout << "Числа между A и B в порядке убывания:" << endl;
  37. for (int i=B-1; i>A; -- i)
  38. {
  39. cout << i << endl;
  40.  
  41. }
  42.  
  43. cout << "Kоличество чисел между А и В (не включая сами А и В): "<< B - A - 1 << endl;
  44.  
  45. */
  46.  
  47.  
  48. /*
  49. ZADACHA #2.
  50. Дано целое число N (> 2) и две вещественные точки на числовой оси: A, B (A < B). Функция F(X) задана формулой F(X) = 1 – sin(X). Найти значения функции F в N равноотстоящих точках, образующих разбиение отрезка [A, B]: F(A), F(A + H), F(A + 2H),... , F(B).
  51. */
  52. /*
  53. int A, B, N, X, F;
  54.  
  55. cout << "Введите целое числа N при условии что N>2: " <<endl;
  56. cin >> N;
  57.  
  58. if (N>2)
  59. {
  60. cout << "Введите целое чило A (при условии А<B): " <<endl;
  61. cin >> A;
  62.  
  63. cout << "Введите целое чило B (при условии А<B): " <<endl;
  64. cin >> B;
  65.  
  66. int H =(B-A)/N=1 // +1 потому что если даже цифр три то отрезков то на одну больше всегда выходит.
  67.  
  68. for (X=A; X<=B; X+=H)
  69. {
  70.  
  71. float F = 1-sin(X);
  72. }
  73. cout << "F (X)= "<< F << endl;
  74.  
  75.  
  76. }
  77. else
  78. cout << "Попробуйте еще раз, Вами веденное число не больше 2" << endl;
  79.  
  80. */
  81.  
  82.  
  83. /*
  84. ZADACHA #3.
  85. Дано число D (> 0). Последовательность чисел AN определяется следующим образом: A1 = 1, A2 = 2, AN = (AN–2+ AN–1)/2, N = 3, 4, ... Найти первый из номеров K, для которых выполняется условие AK- AK–1 < D, и вывести этот номер, а также числа AK–1 и AK.
  86.  
  87. */
  88.  
  89. /*
  90. int K=1, N=3, A=1, D, AN1=A*1, AN2=A*2, AK1; // Задача найти первый из номеров К.
  91. float AN=(AN2+ AN1)/2;
  92. float AK=(AK-AK-1);
  93.  
  94. cout <<"Введите целое числo D, при условии что D>0: " <<endl;
  95. cin >> D;
  96.  
  97. if (D>0)
  98. {
  99. while ((AK-AK-1)<0, K--);
  100.  
  101. cout << "AK= " << A*K << endl;
  102. cout << "AK-1=" << A*K-1 << endl; // По задаче находим только первый из последовательности цифр АК (первая итерация). Xcode показывает ряд пробелов кода (неиспользованные переменные N, AN), но в целом работает.
  103.  
  104.  
  105. }
  106. else
  107. cout <<"Попробуйте еще раз, введенное Вами число D меньше 0." << endl;
  108. */
  109. /*
  110.  
  111.  
  112. Задача 4.
  113.  
  114. Задано натуральные числа от 10 до N. Вывести нечетные кратные пяти числа.
  115. */
  116. /*
  117.  
  118. int N, X;
  119. cout << "Введите натуральное число более 10 для вычесления нечетного кратного пяти числа/чисел" << endl;
  120. cin >> N;
  121.  
  122. for (X=10; X < N; X++)
  123. {
  124. if (X % 2 == 1 && X % 5==0)
  125. {
  126. cout <<"Нечетные кратные пяти числа" << endl;
  127. cout << X << endl;
  128. }
  129.  
  130. }
  131. */
  132.  
  133. //Задача 5.
  134. // Вывести квадраты чисел от 11 до 99.
  135.  
  136. /*
  137. int X;
  138. int A=11, B=99;
  139. for (X=A; X < B; X++) {
  140.  
  141. cout <<"Квадраты чисел от 11 до 99= " << X*X << endl;
  142. }
  143. */
  144.  
  145. /* Операторы цикла с условием
  146.  
  147. ZADACHA #1.
  148.  
  149. Дана последовательность из n вещественных чисел, начинающаяся с отрицательного числа. Определить, какое количество отрицательных чисел записано в начале последовательности. Условный оператор не использовать
  150.  
  151.  
  152. int A, B, X;
  153. cout << "Введите первое отрицательное вещественное число из последовательности N= " << endl;
  154. cin >> A;
  155. cout << "Введите последнее вещественное число последовательности N:" << endl;
  156. cin >> B;
  157. int N= ((-1*A) + B);// формула N исходит из необходимости суммирования количества цифр в последовательности в независимости от их разрядности.
  158. cout << "N= " << N << endl;
  159.  
  160. for (X=A; X < 0; X++) {
  161. cout << "отрицательныe числa= " << X << endl;
  162. }
  163. int S = (-1) * A;
  164. cout << "количество отрицательных чисел равно= " << S <<endl;
  165.  
  166.  
  167. */
  168. /*
  169.  
  170. ZADACHA #2.
  171.  
  172. Дана последовательность целых чисел 1 2 18 , , ..., , a a a в начале которой записано несколько равных между собой элементов. Определить количество таких элементов последовательности. Условный оператор не использовать
  173. */
  174. // не понял вводные данные. Каким образом автоматически можно вводим числа циклом, если они еще могут быть между собой равными, ведь если даже ввести паралелльные циклы из целых чисел, то они все будут повторяющимися. А если попробывать рандомные числа, то они не будут последовательными. Поэтому у меня получилось нечто нечто несуразное на мой взгляд.
  175.  
  176. /*
  177. int N, A, D, DD, i;
  178.  
  179. cout << "Введите общее количество чисел в последовательности:" << endl;
  180. cin >> N;
  181. cout << "Введите последовательность вещественных чисел:" << endl;
  182. cin >> D
  183. ;
  184. A=1;
  185.  
  186. for (i=1; i<N; i++)
  187. {
  188. cin >> DD;// равные числа
  189.  
  190. while (D== DD)
  191. {
  192. A++;
  193. break;
  194. }
  195.  
  196. D = DD;
  197. cout << endl;
  198. cout << "Количество одинаковых чисел: " << A << endl;
  199. cout << endl;
  200. }
  201.  
  202. */
  203.  
  204. /*
  205. Использование условного оператора  после операторов цикла с условием
  206.  
  207. 1.Известны оценки по информатике каждого из 20 учеников класса. В начале списка перечислены все пятерки, затем все остальные оценки. Сколько учеников имеют по информатике оценку "5"? Условный оператор не использовать. Рассмотреть два случая:
  208. a.известно, что пятерки имеют не все ученики класса
  209. b.допускается, что пятерки могут иметь все ученики класса
  210. */
  211.  
  212.  
  213. /*
  214.  
  215. cout << "а. Введите количество студентов получивших пятерки в классе (количество должно быть меньше 20, так как известно что не все ученики получили пятерки) = " << endl;
  216. int beststudents;
  217.  
  218. int students=0;
  219.  
  220. do
  221. {
  222. cin >> beststudents;
  223. students++;
  224.  
  225. }
  226. while (beststudents == 5);
  227.  
  228. cout << endl;
  229. cout << "Количество пятёрок: " << students -1<< endl;
  230. */
  231.  
  232. /*
  233. int s,n, w, five;
  234. cout << "b. Введите количество пятерок в классе (количество может быть равным 20):\n";
  235.  
  236. bool mark;
  237.  
  238. s = 0;//
  239. n = 20;//количество учеников в классе
  240. mark = 0;
  241.  
  242. do
  243. {
  244. cin >> five;
  245. mark =five % 5 ==0;
  246. s++;
  247. n--;
  248. } while (five == 5&&n>0);
  249.  
  250. w = int(mark);
  251. cout << endl;
  252. cout << "Количество пятёрок: " << s-w << endl;
  253. */
  254.  
  255. //-Хотел бы задать вопросы по пониманию самого смысла задания и как правильно надо вводить данные по задачам, если там говорится что известно то мы сами должны их примерно вводить или это можно поставить под какой то оператор.
  256. //-Либо подскажите какой учебник читать, в учебнике Прата по С я этого не нашел.
  257.  
  258. /*
  259. 2.Известны сведения о количестве осадков, выпавших за каждый день мая. Первого мая осадков не было. Определить, в течение какого количества первых дней месяца непрерывно, начиная с первого мая, осадков не было? Условный оператор не использовать. Рассмотреть два случая:
  260. a.известно, что в какие-то дни мая осадки выпадали
  261. b.допускается, что осадков могло не быть ни в какой день мая.
  262. */
  263. /*
  264.  
  265. int Mayday, s = 0;
  266. cout << "а. Отсутствие осадков = 0. Введенный 0 будет означать день без осадков: ";
  267. do //используется потому что 1 мая осадков не было, т.е. один раз итерация должна пройти.
  268. {
  269. cin >> Mayday;
  270. s++; // счетчик автоматически считывает сколько раз производится итерация цикла при последующем условии 0. И тогда оно выдает общее количество дней.
  271. } while (Mayday == 0);
  272. cout << endl;
  273. cout << "Количество первых непрерывных дней без осадков: " << s-1 << endl; // приходится ставить в итоговую строку вывода результата "-1", потому что результат выходит на 1 число больше.
  274.  
  275. */
  276.  
  277. /*
  278. int Mayday, S=0, N=30;// S это количество дней мая без осадков. Начальное значение присвоено 0. N максимальное значение дней в мае.
  279. cout << "(b) осадков могло не быть ни в какой день мая, но надо ввести первые дни без дождей цифрой 0, а если все таки дожди были то цифру 1: " <<endl;
  280.  
  281. do
  282. {
  283. cin >> Mayday;
  284.  
  285. S++;// к 0 при каждой итерации прибавляется +1.
  286. N--;// с каждой итерацией с общего количество дней (30), отнимается 1. таким образом может быть совершено только 30 итераций.
  287. } while (Mayday == 0 && N>0);
  288.  
  289. cout << endl;
  290. cout << "Количество первых непрерывных дней без осадков: " << S - 1 <<endl;
  291.  
  292. */
  293.  
  294. // вотличии от подзадания (а) добавил только переменную N с присвоением значения 30. Но принципиально ничего не изменил. Вопрос, а зачем в подзадании говорится что "осадков могло не быть не в какой день в мае". В чем тогда смысл если все дни заведомо известно что равны 0, т.е. без осадков... может я смысла задания не понимаю.
  295.  
  296. return 0;
  297. }
Add Comment
Please, Sign In to add comment