Нужно исправить ошибку в программе - C (СИ)
Формулировка задачи:
Дана матрица А(M,N). Если среди элементов матрицы есть хотя бы одно простое число, отсортировать элементы ее строк по возрастанию значений.
Выдает вот эту ошибку:
2.c:15: warning: assignment makes integer from pointer without a cast
2.c:16: lvalue expected
>Exit code: 1
#include<stdio.h>
int main()
{int a[20][20],i,j,m,n,g,k,f;
puts ("Введите n и m");
scanf ("%d%d",&n,&m);
for (i=0;i<m;i++);
for (j=0;j<n;j++);
scanf ("%d",&a[i][j]);
for (i=2; i<=(n/2); i++)
if((n%i)==0)//простое число
//тут надо просмотреть все числа
for (i=0; i<n; i++)
for(k=i+1; k<n; k++)
if(a[i]>a[k])
{f=a[i];
a[i]=a[k]; //сортировка по возрастанию
a[k]=f;
}Решение задачи: «Нужно исправить ошибку в программе»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int a[20][20],i,j,n,m,k,f;
puts ("Введите n и m");
scanf ("%d %d",&n,&m);
printf ("\nSource:");
for (i=0;i<n;i++) {
printf ("\n");
for (j=0;j<m;j++) {
a[i][j]=rand()%100; //scanf ("%d",&a[i][j]);
printf ("%d ",a[i][j]);
}
}
int is=0;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
for (k=2;k<=floor(sqrt(0.+a[i][j]));k++)
if (a[i][j]%k==0) { is=1; break; }
printf ("\nDestination:");
if (is) for (i=0;i<n;i++) {
printf ("\n");
for (j=0;j<m-1;j++)
for (k=j+1;k<m;k++)
if (a[i][j]>a[i][k]) {
f=a[i][j]; a[i][j]=a[i][k]; a[i][k]=f;
}
for (j=0;j<m;j++) printf ("%d ",a[i][j]);
}
else printf (" no simple number!");
fflush(stdin); getchar(); return 0;
}