При запуске выдает undefined reference to winMain@16 - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int A[10][10];
int x,i,j,n,m,h,c,k;
int B[4][4]={{30,42,12,23},{54,25,78,45},{71,28,19,17},{45,68,24,12}};
int sortu(int h)
{
for(i=0;i<n-1;i++);
{
for (j=j+1;j<n;j++);
}
if (A[i][n-i+1]<A[j,n-j+1])
{
if (A[i][n-i+1]<A[j,n-j+1])
m=A[i][n-i+1];
A[i][n-i+1]=A[j,n-j+1];
A[j][n-j+1]=m;
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++) printf("%4f",A[i][j]);
printf;
}
{
m=A[i][n-i+1];
A[i][n-i+1]=A[j,n-j+1];
A[j][n-j+1]=m;
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%4f",A[i] [j]);
printf("\n");
}
int main()
{
while(c!=4)
{
printf("Yak zapovnyuvaty masyv?\n");
printf("1.Yak konstantu\n");
printf("2.Vypadkovi chysla\n");
printf("3.Vruchnu\n");
printf("4.Vyhid\n");
printf("Vash vybir: "); scanf("%d",&c);
switch (c)
{case 1:
{
printf("\nVy obraly zapovnennya masyvu constantamy\n");
printf("Vhidnyy masyv\n");
n=4; m=4;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
A[i][j]=B[i][j];
printf("%d ",A[i][j]);
}
printf("\n");
}
sortu(h);
getch();
continue;
case 2:
{
printf("Vy obraly zapovnennya masyvu vypadkovymy chyslamy\n");
printf("Vkazhit rozmirnist masyvu: \n");
printf("n=");scanf("%d",&n);
printf("m=");scanf("%d",&m);
printf("\nVhidnyy masyv\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
A[i][j]=rand()%89+10;
printf("%d ",A[i][j]);
}
printf("\n");
}
sortu(h);
getch();
continue;
case 3:
{
printf("Vy obraly zappovnennya masyvu vruchnu\n");
printf("Vkazhit rozmirnist masyvu: \n");
printf("n=");scanf("%d",&n);
printf("m=");scanf("%d",&m);
printf("\nVvedit znachennya elementiv masyvu\n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
printf("A[%d,%d]=",i,j);scanf("%d",&A[i][j]);
}
printf("\n");
printf("Vhidnyy masyv\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%d ",A[i][j]);
printf("\n");
}
sortu(h);
getch();
continue;
};
}}}}}
return 0;}Решение задачи: «При запуске выдает undefined reference to winMain@16»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int A[10][10];
int x,i,j,n,m,h,c,k;
int B[4][4]={{30,42,12,23},{54,25,78,45},{71,28,19,17},{45,68,24,12}};
void sortu(int A[][10])
{
for(i=0;i<n-1;i++)
{
for (j=j+1;j<n;j++)
{
if (A[i][n-i+1]<A[j][n-j+1])
{
m=A[i][n-i+1];
A[i][n-i+1]=A[j][n-j+1];
A[j][n-j+1]=m;
}
}
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%4d",A[i][j]);
printf("\n");
}
}
int main()
{
while(c!=4)
{
printf("Yak zapovnyuvaty masyv?\n");
printf("1.Yak konstantu\n");
printf("2.Vypadkovi chysla\n");
printf("3.Vruchnu\n");
printf("4.Vyhid\n");
printf("Vash vybir: "); scanf("%d",&c);
switch (c)
{
case 1:
{
printf("\nVy obraly zapovnennya masyvu constantamy\n");
printf("Vhidnyy masyv\n");
n=4; m=4;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
A[i][j]=B[i][j];
printf("%d ",A[i][j]);
}
printf("\n");
}
sortu(A);
getch();
continue;
}
case 2:
{
printf("Vy obraly zapovnennya masyvu vypadkovymy chyslamy\n");
printf("Vkazhit rozmirnist masyvu: \n");
printf("n=");scanf("%d",&n);
printf("m=");scanf("%d",&m);
printf("\nVhidnyy masyv\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
A[i][j]=rand()%89+10;
printf("%d ",A[i][j]);
}
printf("\n");
}
sortu(A);
getch();
continue;
}
case 3:
{
printf("Vy obraly zappovnennya masyvu vruchnu\n");
printf("Vkazhit rozmirnist masyvu: \n");
printf("n=");scanf("%d",&n);
printf("m=");scanf("%d",&m);
printf("\nVvedit znachennya elementiv masyvu\n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
printf("A[%d,%d]=",i,j);scanf("%d",&A[i][j]);
}
printf("\n");
printf("Vhidnyy masyv\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%d ",A[i][j]);
printf("\n");
}
sortu(A);
getch();
continue;
}
}
}
return 0;
}
Объяснение кода листинга программы
- В начале программы объявлены массив A размером 10x10 и переменные x, i, j, n, m, h, c, k.
- Далее идет функция sortu(), которая сортирует массив A по возрастанию.
- В функции main() идет бесконечный цикл, который прерывается только при выборе опции 4.
- В этом цикле программа запрашивает у пользователя выбор операции для выполнения с массивом A.
- Если выбрана операция 1, то программа запрашивает у пользователя размеры массива A и заполняет его значениями из массива B.
- Если выбрана операция 2, то программа заполняет массив A случайными значениями и сортирует его.
- Если выбрана операция 3, то программа запрашивает у пользователя размеры массива A и значения его элементов, затем выводит исходный массив A и отсортированный.
- Если выбрана операция 4, то программа завершается.