Я пытаюсь решить вопрос, используя на С.-структуруАлгоритм о структуре на C
Он должен найти самую большой из 3 значений, и если это простое число, добавить ко всем остальным. Если не просто вернуть наибольшее число в основную функцию. Я не мог найти, где я ошибся.
#include <stdio.h>
#include <stdlib.h>
struct q {
int a, b, c, max;
}d;
func(struct q d1)
{
int max1;
max1=0;
int w=0;
int i;
if (d1.a>d1.b && d1.a>d1.c)
max1=d1.a;
if (d1.b>d1.a && d1.b>d1.c)
max1=d1.b;
if (d1.c>d1.b && d1.c>d1.a)
max1=d1.c;
for(i=2;i<max1;i++)
{
if (max1%i==0)
w=1;
}
if (w==0)
{
d1.a=d1.a+max1;
d1.b=d1.b+max1;
d1.c=d1.c+max1;
}
if (w==1)
{
d1.max=max1;
}
}
int main()
{
int i;
for(i=0;i<1;i++)
{
d.max=0;
puts("enter value of a b c:");
scanf("%d %d %d",&d.a,&d.b,&d.c);
func(d);
if(d.max==0) printf("%d %d %d",d.a,d.b,d.c);
else printf("%d",d.max);
}
}
Средства: передать указатель на функцию, изменить структуру с помощью указателя на структуру, а не копию структуры. –
Большое спасибо, наконец, я получил, как использовать указатель –