Разработать программу, конструирующую матрицу - 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 вводится пользователем. Затем элементы матрицы переставляются в соответствии с определенным алгоритмом.

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


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

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

14   голосов , оценка 3.857 из 5
Похожие ответы