Guest User

Untitled

a guest
Jun 21st, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. void work(int ***array, int num_k, int num_l, int size)
  4. {
  5. int i,temp,j,k;
  6. int temp_max=0;
  7. //Поиск максимального n раз
  8. for (i=0;i<size;i++)
  9. for(j=0;j<size;j++)
  10. for(k=0;k<size;k++)
  11. if(((*array)[i][i] < (*array)[j][k]) )
  12. if(j!=k || j > i)
  13. {
  14. temp = (*array)[i][i];
  15. (*array)[i][i]=(*array)[j][k];
  16. (*array)[j][k] = temp; }
  17.  
  18.  
  19. }
  20.  
  21. void output_mas(int **array, int size)
  22. {
  23. //Вывод всего массива
  24. int i,j;
  25. for (i=0;i<size;i++){
  26. printf("Строка %d: ",i);
  27. for (j=0;j<size;j++) printf("Элемент %2d:%3d ",j,array[i][j]);
  28.  
  29. printf("\n");
  30. }
  31. }
  32. int **input_kbd(int **array, int size)
  33. {
  34. int i,j;
  35. //Ввод с клавиатуры
  36. for (i=0;i<size;i++)
  37. for (j=0;j<size;j++){
  38. scanf("%d",&array[i][j]);}
  39. return (array);
  40. }
  41. int **input_file(int **array, int size)
  42. {
  43. char file[255];
  44. int i,j;
  45. FILE *fn;
  46. //Ввод из файла
  47. printf("Введите имя файла\n");
  48. scanf("%s", file);
  49. getchar();
  50. fn = fopen (file,"r");
  51. if (fn == NULL)
  52. {printf("Неверное имя файла\n");
  53. return 0;}
  54. else
  55. {
  56. for (i=0;i<size;i++)
  57. for (j=0;j<size;j++)
  58. fscanf (fn, "%d", &array[i][j]);
  59. fclose(fn);
  60. return array;
  61. }
  62. }
  63.  
  64. void main()
  65. {
  66. int size,k,l,var, i;
  67. int **arr;
  68. printf("Ввести размер квадратного массива\n");
  69. scanf("%d", &size);
  70. arr = calloc (size , sizeof(*arr));
  71. for (i=0;i<size;i++){
  72. (*(arr+i)) = malloc (size * sizeof(int));}
  73. printf("Как вы хотите ввести матрицу?\n");
  74. printf("1)из файла\n2)с клавиатуры\n");
  75. scanf("%d", &var);
  76. if (var == 1)
  77. input_file(arr,size);
  78. else input_kbd(arr,size);
  79. printf("Первоначальный массив:\n");
  80. output_mas(arr, size);
  81. work (&arr, k, l, size);
  82. printf("Конечный массив:\n");
  83. output_mas(arr, size);
  84. free (arr);
  85. }
Add Comment
Please, Sign In to add comment