Cum fac mai departe?
#include
//structura
struct numere
{
int x;
int y;
};
//variabile
int n,i;
struct numere p;
int main(void)
{
//citire
printf("Introduceti perechile:\n");
scanf("%d%d",&p.x,&p.y);
while(!(p.x==0&&p.y==0))
{
printf("\n");
scanf("%d%d",&p.x,&p.y);
}
}
Asta se cere: Definiți o structură care să memoreze N perechi de numere naturale de forma (x, y). Se citesc de la tastatură perechi de numere de forma (x, y), până la introducerea perechii (0, 0). Să se scrie un program care afișează perechea cu suma elementelor cea mai mare și afișează perechile care au suma celor două componente ale perechii număr prim.
Răspunsuri la întrebare
Răspuns de
1
#include <stdio.h>
struct numere
{
int x;
int y;
};
int suma(int a,int b){
return a+b;
}
int estePrim(unsigned x){
if(x<2){
return 0;
}
for(unsigned d=2;d<=x/2;d++){
if(x%d==0){
return 0;
}
}
return 1;
}
int main()
{
struct numere p[100];
int n=0,smax=0,xmax=0,ymax=0;
printf("Introduceti perechile:\n");
scanf("%d %d",&p[n].x,&p[n].y);
while((p[n].x!=0)||(p[n].y!=0))
{
printf("\n");
if(suma(p[n].x,p[n].y)>smax){
smax=suma(p[n].x,p[n].y);
xmax=p[n].x;
ymax=p[n].y;
}
n++;
scanf("%d %d",&p[n].x,&p[n].y);
}
printf("Perechea cu suma elementelor cea mai mare este:\n(%d,%d)\n\n",xmax,ymax);
printf("Perechile care au suma celor doua componente ale perechii numar prim:\n");
for(int i=0;i<n;i++){
if(estePrim(suma(p[i].x,p[i].y))){
printf("(%d,%d)\n",p[i].x,p[i].y);
}
}
return 0;
}
struct numere
{
int x;
int y;
};
int suma(int a,int b){
return a+b;
}
int estePrim(unsigned x){
if(x<2){
return 0;
}
for(unsigned d=2;d<=x/2;d++){
if(x%d==0){
return 0;
}
}
return 1;
}
int main()
{
struct numere p[100];
int n=0,smax=0,xmax=0,ymax=0;
printf("Introduceti perechile:\n");
scanf("%d %d",&p[n].x,&p[n].y);
while((p[n].x!=0)||(p[n].y!=0))
{
printf("\n");
if(suma(p[n].x,p[n].y)>smax){
smax=suma(p[n].x,p[n].y);
xmax=p[n].x;
ymax=p[n].y;
}
n++;
scanf("%d %d",&p[n].x,&p[n].y);
}
printf("Perechea cu suma elementelor cea mai mare este:\n(%d,%d)\n\n",xmax,ymax);
printf("Perechile care au suma celor doua componente ale perechii numar prim:\n");
for(int i=0;i<n;i++){
if(estePrim(suma(p[i].x,p[i].y))){
printf("(%d,%d)\n",p[i].x,p[i].y);
}
}
return 0;
}
Alte întrebări interesante
Limba rusă,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă