fork(1) download
  1. #include <stdio.h>
  2. #include <float.h>
  3.  
  4. // назначение макросов
  5. #define MAX 10
  6. #define X_INIT (-DBL_MAX)
  7.  
  8. int main(void)
  9. {
  10. // рабочие переменные
  11. int n;
  12. int i;
  13. int j;
  14. double x;
  15. double arr[MAX][MAX];
  16.  
  17. // проверка ввода порядка n
  18. if( scanf("%d", &n ) <= 0 )
  19. {
  20. printf("error: incomplete input of n\n");
  21. return 0;
  22. }
  23. if( n <= 1 || n > MAX )
  24. {
  25. printf("error: wrong value of n\n");
  26. return 0;
  27. }
  28.  
  29. // ввод матрицы с проверкой
  30. for( i = 0; i < n; i++)
  31. {
  32. for( j = 0; j < n; j++)
  33. {
  34. if( scanf("%lf", &arr[i][j] ) < 1 )
  35. {
  36. printf("error: incomplete input of array\n");
  37. return 0;
  38. }
  39.  
  40. }
  41. }
  42. // печать введённой матрицы для отладки
  43. printf("input array:\n");
  44. for( i = 0; i < n; i++)
  45. {
  46. for( j = 0; j < n; j++)
  47. {
  48. printf("\t%2.2lf", arr[i][j]);
  49.  
  50. }
  51. printf("\n");
  52. }
  53. // вывод результата, содержит номер строки, где необходимо было искать наибольший элемент
  54. printf("result:\n");
  55. for( i = 0; i < n; i++)
  56. {
  57. x = X_INIT;
  58. if( arr[i][i] < 0 )
  59. {
  60. for( j = 0; j < n; j++)
  61. {
  62. if( arr[i][j] > x ) x = arr[i][j];
  63. }
  64. printf("line = %d, max = %2.2lf\n", i, x);
  65. }
  66. }
  67.  
  68. return 0;
  69. }
Success #stdin #stdout 0s 3344KB
stdin
Standard input is empty
stdout
error: incomplete input of n