Разработать программу, конструирующую матрицу - C (СИ)
Формулировка задачи:
Помогите с задачкой. мне решение препод написал но она все ровно не работает пишет: Run-Time Check Failure #3 - The variable 'y' is being used without being initialized.
я так понял просит присвоить значение а зачем мне его присваивать если я его с клавиатуры должен вводить. и с выводом матрицы что то тоже не то. помогите пожалуйста
вот код программы:
Листинг программы
- #include <stdio.h>
- #include <windows.h>
- #include <math.h>
- #include <locale.h>
- void main ()
- {
- setlocale(LC_ALL,"russian");
- SetConsoleOutputCP(1251);
- int A[10][10];
- int i,j,m,n,h,k,y,a[40][40];
- n=4*y;
- k=0;
- {
- printf("Введите y:");
- scanf("%d",&y);
- }
- for (i=0; i<n/2;i++)
- {
- for (j=0; j<n/2;j++)
- {
- for (h=i;h<i+y;h++)
- {
- for (m=j;m<j+y;m++)
- a[h][m]=k;
- }
- j+=y-1;
- k++;
- }
- }
- i+=y-1;
- for (i=0;i<n/2;i++)
- {
- for (j=n/2;j<n;j++)
- {
- for(h=i;h<i+y;h++)
- {
- for (m=j;m<j+y;m++)
- a[h][m]=k;
- }
- j=y-1;
- k++;
- }
- i+=y-1;
- }
- for (i=0;i<n/2;i++)
- {
- for(j=0;j<n/2;j++)
- {
- a[i+n/2][j-n/2]=a[i][j];
- }
- }
- for(i=0;i<n/2;i++)
- {
- for(j=0;j<n/2;j++)
- {
- a[i+n/2][j+n/2]=a[i][j];
- }
- }
- printf("матрица:\n");
- for (i=0;i<n;i++)
- { for(j=0;i<n;j++)
- printf("%5d",A[i][j]);
- printf("\n");
- }
- getchar();
- getchar();
- }
Решение задачи: «Разработать программу, конструирующую матрицу»
textual
Листинг программы
- #include <stdio.h>
- #include <windows.h>
- #include <math.h>
- #include <locale.h>
- void main (){
- int a[40][40];
- int i, j;
- int m, h;
- int k=0, n;
- int N;
- printf("vvedite N:\n");
- scanf("%d", &N);
- n=4*N;
- for (i=0; i<n/2; i++){
- for (j=0; j<n/2;j++){
- for(h=i; h<i+N; h++){
- for(m=j; m<j+N; m++)
- a[h][m]=k;
- }
- j+=N-1;
- k++;
- }
- i+=N-1;
- }
- for (i=0; i<n/2; i++){
- for (j=n/2; j<n; j++){
- for (h=i; h<i+N; h++){
- for (m=j; m<j+N; m++)
- a[h][m] = k;
- }
- j+=N-1;
- k++;
- }
- i+=N-1;
- }
- for (i=0; i<n/2; i++){
- for (j=0; j<n/2; j++)
- a[i+n/2][j+n/2]=a[i][j];
- }
- for (i=0; i<n/2; i++){
- for (j=0; j<n/2; j++)
- a[i+n/2][j]=a[i][j+n/2];
- }
- printf("\n");
- for (i=0; i<n; i++){
- for (j=0; j<n; j++)
- printf("%5d", a[i][j]);
- printf("\n");
- }
- system("pause");
- }
Объяснение кода листинга программы
В этом коде создается матрица 40x40 и заполняется значениями от 0 до N-1, где N вводится пользователем. Затем элементы матрицы переставляются в соответствии с определенным алгоритмом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д