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