Advertisement
Underhing

Untitled

Apr 1st, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void negativestroke(int **a, int n, int m, int summ, int i , int j){
  4.  
  5. for(i=0; i<n; i++)
  6. for(j=0; j<m; j++)
  7. {
  8.  
  9. if(a[i][j] < 0){
  10.  
  11. for(j=0; j<m; j++)
  12. {
  13. summ += a[i][j];
  14. }
  15.  
  16.  
  17. }
  18. }
  19.  
  20.  
  21. printf("Сумма элементов с отр. знач. в строках: %d \n", summ);
  22.  
  23.  
  24. }
  25.  
  26.  
  27.  
  28.  
  29. int main()
  30. {
  31. int i,j,n,m, summ = 0, todo;
  32. printf ("\033[1;33mПРОГРАММА ДЛЯ ОБРАБОТКИ МАТРИЦЫ\033[0m\n");
  33. printf ("(1) Введите количество строк: ");
  34. scanf("%d", &n);
  35. printf ("(2) Введите количество столбцов: ");
  36. scanf("%d", &m);
  37.  
  38. int **a = (int **) malloc(n * sizeof(int *));
  39. for (i = 0; i < n; i++)
  40. {
  41. a[i] = (int *) malloc(m * sizeof(int));
  42. }
  43.  
  44. for(i=0; i<n; i++)
  45. for(j=0; j<m; j++)
  46. {
  47.  
  48.  
  49. printf("Введите [%d][%d]= ", i+1,j+1);
  50. scanf("%d",&a[i][j]);
  51.  
  52.  
  53. }
  54. printf("\033[1;33m---{ ВВЕДЕННАЯ МАТРИЦА }---\033[0m\n");
  55. for(i=0; i<n; i++)
  56. {
  57. for(j=0; j<m; j++)
  58. printf("%d\t", a[i][j]);
  59. printf("\n");
  60. }
  61. printf("Доступные команды:\n");
  62. printf("[1] Найти сумму элементов в строках, где есть хотя бы 1 отриц. элемент\n");
  63. printf("[2] Тестовая\n");
  64. printf("[3] Тестовая\n");
  65. printf("[4] Тестовая\n");
  66.  
  67. printf("Выберите действие: ");
  68. scanf("%d", &todo);
  69.  
  70. switch (todo) {
  71. case 1:
  72. negativestroke(a, n, m, summ, i , j);
  73. break;
  74. case 2:
  75. printf("Чичивица\n");
  76. break;
  77. case 3:
  78. printf("Чичивица\n");
  79. break;
  80. default:
  81. printf("Чичивица\n");
  82. break;
  83. }
  84.  
  85.  
  86.  
  87.  
  88.  
  89. }
  90.  
  91.  
  92.  
  93.  
  94. /*
  95.  
  96. #include <stdio.h>
  97. #include <stdlib.h>
  98.  
  99. void print_matrix(const int *a, size_t m, size_t n, const char *fmt)
  100. {
  101. int sum2;
  102.  
  103. for (size_t i = 0; i < m; i++)
  104. {
  105. size_t d = 0;
  106. int sum = 0, fl = 0;
  107.  
  108. for (size_t j = 0; j < n + d; j++)
  109. {
  110. if (a[j + i * n] < 0 && fl == 0){
  111. d = j, fl = 1;
  112. sum2 =d; }
  113. if (fl)
  114. sum += a[(j % n) + i * n];
  115. if (j < n)
  116. printf(fmt, a[j + i * n]);
  117. }
  118. fl ? printf(" => Сумма(%d)\n", sum) : puts("");
  119.  
  120. }
  121. printf("%d", sum2);
  122. }
  123.  
  124. int main(void)
  125. {
  126.  
  127. size_t m, n;
  128. printf("ПРОГРАММА ДЛЯ ОБРАБОТКИ МАТРИЦЫ!\n");
  129. printf("Введите размерность матрицы [n x m] \nПодсказка: (1-е значение - строки, 2-е - столбцы)\n");
  130. printf("Значение: ");
  131. if (scanf("%zu%zu", &m, &n) != 2)
  132. {
  133. printf("[ОШИБКА] Неправильный размер матрицы!\n");
  134.  
  135. }
  136.  
  137. int *arr = malloc(sizeof *arr * m * n);
  138.  
  139. for (size_t i = 0; i < m * n; i++)
  140. if (scanf("%d", &arr[i]) != 1)
  141. {
  142. printf("[ОШИБКА] Ошибка ввода чисел матрицы\n");
  143. }
  144.  
  145. print_matrix(arr, m, n, "%5d");
  146. free(arr);
  147.  
  148. return 0;
  149. }
  150.  
  151. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement