Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <locale.h>
  4. #include <stdlib.h>
  5. #include <ctype.h>
  6. #include <string.h>
  7. #include <iostream>
  8. #include <time.h>
  9. #include <malloc.h>
  10. #include <windows.h>
  11.  
  12.  
  13.  
  14.  
  15.  
  16. int *a;
  17. int i, j, z, n,m, min = 0, max = 0, sum1 = 0, sum2 = 0;
  18. void vvod();
  19. void vyvod(int*, int,int);
  20. void zadanie1();
  21. void zadanie2();
  22. int menu();
  23.  
  24. int main()
  25. {
  26. setlocale(LC_ALL, "RUS");
  27. SetConsoleCP(1251);
  28. SetConsoleOutputCP(1251);
  29.  
  30.  
  31. while (1)
  32. { //вызов функции menu
  33. switch (menu()) //условное выражение в операторе switch -
  34. {
  35. case 2:
  36. zadanie1();
  37. break;
  38. case 4:
  39. zadanie2();
  40. break;
  41. case 1:
  42. vvod();
  43. break;
  44. case 3:
  45. vyvod(a, n,m);
  46. break;
  47.  
  48. case 5:
  49. return 0;
  50. //Выполнение функции завершается после выполнения оператора return
  51. }
  52.  
  53. }
  54.  
  55. _getch();
  56. }
  57.  
  58. void vvod()
  59. {
  60. int i, j, n, m;
  61. printf("Введите количество строк: ");
  62. scanf_s("%d", &n);
  63. printf("Введите количество столбцов: ");
  64. scanf_s("%d", &m);
  65. a = (int*)malloc(n*m*sizeof(int)); // Захват памяти
  66. for (i = 0; i < n; i++) // цикл по строкам
  67. {
  68. for (j = 0; j < m; j++) // цикл по столбцам
  69. {
  70. printf("a[%d][%d] = ", i, j);
  71. scanf_s("%d", (a + i*m + j));
  72.  
  73. }
  74. }
  75. printf("Массив сгенерирован ", n);
  76. }
  77.  
  78. void vyvod(int *a, int n,int m)
  79. {
  80. int i, j;
  81. if (!a)
  82. printf("Массива нет \n Сгенерируйте массив выбрав пункт 1");
  83. else
  84. for (i = 0; i<n; i++) // цикл по строкам
  85. {
  86. for (j = 0; j<m; j++) // цикл по столбцам
  87. {
  88. printf("%5d ", *(a + i*m + j)); // 5 знакомест под элемент массива
  89. }
  90. printf("\n");
  91. }
  92. }
  93.  
  94. void zadanie1()
  95. {
  96. float mas1[6][6];
  97. int num = 0, fl = 0;
  98. for (i = 0; i < 6; i++)
  99. {
  100. printf("\n");
  101. for (j = 0; j < 6; j++)
  102. {
  103. mas1[i][j] = -1 + rand() % 20;
  104. if (fl == 0 && mas1[i][j] < 0)
  105. num = i;
  106. printf("%4.1f ", mas1[i][j]);
  107. }
  108. }
  109. printf(" \nОтрицательный элемент в строке %d ", num + 1);
  110.  
  111. printf("\nМатрица с уменьшенным вдвое столбцом %d", num + 1);
  112. for (i = 0; i < 6; i++)
  113. {
  114. printf("\n");
  115. for (j = 0; j < 6; j++)
  116. {
  117.  
  118. if (j == num && mas1[i][j] != 0)
  119. mas1[i][j] = mas1[i][j] / 2;
  120.  
  121. printf("%4.1f ", mas1[i][j]);
  122. }
  123. }
  124.  
  125.  
  126.  
  127. }
  128. void zadanie2()
  129. {
  130. char s[100];
  131. printf("Введите строку: ");
  132. getchar();
  133. gets_s(s);
  134. int i = 0;
  135. printf("Полученная строка в нижнем регистре равна:");
  136. while (s[i] != '\0')
  137. {
  138. printf("%c", char(tolower(s[i])));
  139. i++;
  140. }
  141. i = 0;
  142. printf("\n");
  143. printf("Полученная строка в верхнем регистре равна:");
  144. while (s[i] != '\0')
  145. {
  146. printf("%c", char(toupper(s[i])));
  147. i++;
  148. }
  149.  
  150.  
  151. }
  152.  
  153. int menu() //определение функции menu
  154. {
  155. int ch;
  156. do {
  157. printf("\n Menu: \n");
  158. printf("1. Ввод массива \n");
  159. printf("2. Задание 1 \n");
  160. printf("3. Вывод массива\n");
  161. printf("4. Задание 2\n");
  162. printf("5. Выход\n");
  163. printf("\t Ваш выбор: ");
  164. scanf_s("%d", &ch);
  165. } while (ch > 5);
  166. return ch;
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement