Разработать программу, конструирующую матрицу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите с задачкой. мне решение препод написал но она все ровно не работает пишет: Run-Time Check Failure #3 - The variable 'y' is being used without being initialized. я так понял просит присвоить значение а зачем мне его присваивать если я его с клавиатуры должен вводить. и с выводом матрицы что то тоже не то. помогите пожалуйста вот код программы:
Листинг программы
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <math.h>
  4. #include <locale.h>
  5. void main ()
  6. {
  7. setlocale(LC_ALL,"russian");
  8. SetConsoleOutputCP(1251);
  9. int A[10][10];
  10. int i,j,m,n,h,k,y,a[40][40];
  11. n=4*y;
  12. k=0;
  13.  
  14. {
  15. printf("Введите y:");
  16. scanf("%d",&y);
  17. }
  18. for (i=0; i<n/2;i++)
  19. {
  20. for (j=0; j<n/2;j++)
  21. {
  22. for (h=i;h<i+y;h++)
  23. {
  24. for (m=j;m<j+y;m++)
  25. a[h][m]=k;
  26. }
  27. j+=y-1;
  28. k++;
  29. }
  30. }
  31. i+=y-1;
  32. for (i=0;i<n/2;i++)
  33. {
  34. for (j=n/2;j<n;j++)
  35. {
  36. for(h=i;h<i+y;h++)
  37. {
  38. for (m=j;m<j+y;m++)
  39. a[h][m]=k;
  40. }
  41. j=y-1;
  42. k++;
  43. }
  44. i+=y-1;
  45. }
  46. for (i=0;i<n/2;i++)
  47. {
  48. for(j=0;j<n/2;j++)
  49. {
  50. a[i+n/2][j-n/2]=a[i][j];
  51. }
  52. }
  53. for(i=0;i<n/2;i++)
  54. {
  55. for(j=0;j<n/2;j++)
  56. {
  57. a[i+n/2][j+n/2]=a[i][j];
  58. }
  59. }
  60.  
  61. printf("матрица:\n");
  62. for (i=0;i<n;i++)
  63. { for(j=0;i<n;j++)
  64. printf("%5d",A[i][j]);
  65. printf("\n");
  66. }
  67.  
  68. getchar();
  69. getchar();
  70. }

Решение задачи: «Разработать программу, конструирующую матрицу»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <math.h>
  4. #include <locale.h>
  5.  
  6. void main (){
  7.  
  8.    
  9.     int a[40][40];
  10.     int i, j;
  11.     int m, h;
  12.     int k=0, n;
  13.     int N;
  14.  
  15.     printf("vvedite N:\n");
  16.     scanf("%d", &N);
  17.  
  18.     n=4*N;
  19.  
  20.     for (i=0; i<n/2; i++){
  21.         for (j=0; j<n/2;j++){
  22.  
  23.             for(h=i; h<i+N; h++){
  24.                 for(m=j; m<j+N; m++)
  25.                     a[h][m]=k;
  26.             }
  27.             j+=N-1;
  28.             k++;
  29.         }
  30.         i+=N-1;
  31.     }
  32.  
  33.    
  34.     for (i=0; i<n/2; i++){
  35.         for (j=n/2; j<n; j++){
  36.  
  37.             for (h=i; h<i+N; h++){
  38.                 for (m=j; m<j+N; m++)
  39.                     a[h][m] = k;
  40.             }
  41.             j+=N-1;
  42.             k++;
  43.         }
  44.         i+=N-1;
  45.     }
  46.    
  47.  
  48.     for (i=0; i<n/2; i++){
  49.         for (j=0; j<n/2; j++)
  50.  
  51.             a[i+n/2][j+n/2]=a[i][j];
  52.        
  53.     }
  54.  
  55.     for (i=0; i<n/2; i++){
  56.         for (j=0; j<n/2; j++)
  57.             a[i+n/2][j]=a[i][j+n/2];
  58.        
  59.     }
  60.  
  61.     printf("\n");
  62.     for (i=0; i<n; i++){
  63.         for (j=0; j<n; j++)
  64.             printf("%5d", a[i][j]);
  65.             printf("\n");
  66.     }
  67.  
  68.     system("pause");
  69. }

Объяснение кода листинга программы

В этом коде создается матрица 40x40 и заполняется значениями от 0 до N-1, где N вводится пользователем. Затем элементы матрицы переставляются в соответствии с определенным алгоритмом.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы