Să se rescrie exemplul de mai jos în care se defineşte o functie pentru citirea de la tastatură a unei date de tip punct, una pentru afişare şi o a treia care calculează distanta dintre două puncte preluate ca parametri. Apelurile lor se vor folosi în functia main. Ori in C ori in C++.
#include
#include
#include
#define N 4
struct punct { int x, y;};
void main()
{ punct p1, p2;
punct pct[N];
punct *pp;
int i;
double dist;
printf("Introduceti coordonate pentru p1:");
printf("\np1.x=");
scanf("%d", &p1.x);
printf("p1.y=");
scanf("%d", &p1.y);
printf("Introduceti coordonate pentru p2:");
printf("\np2.x=");
scanf("%d", &p2.x);
printf("p2.y=");
scanf("%d", &p2.y);
dist=sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
printf("\nDistanta dintre p1 si p2 este: %.2f\n", dist);
getch();
printf("Introduceti coordonate pentru cele 10 puncte:\n");
for(i=0 ; i
{printf("\npct[%d]:", i);
printf("\nx=");
scanf("%d", &pct[i].x);
printf("y=");
scanf("%d", &pct[i].y);
}
printf("Coordonatele sunt:\n");
for(i=0 ; i
printf("punctul %d - <%d , %d> \n", i, pct[i].x, pct[i].y);
pp=pct;
printf("Coordonatele sunt:\n");
for(i=0;i
printf("punctul %d - <%d , %d>\n", i, (pp+i)->x, (pp+i)->y);
getch();
}
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <cmath>
using namespace std;
struct punct
{
int x,y;
}pnct[20], P, P2;
void citire_punct(punct &P)
{
cout << "Dati coordonatele punctului: " << endl;
cout << "x="; cin >> P.x;
cout << "y="; cin >> P.y;
}
void afisare_punct(punct P)
{
cout << "coordonatele punctului: " << P.x << " " << P.y << endl;
}
double distanta(punct A, punct B)
{
return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));
}
int main()
{
citire_punct(P);
afisare_punct(P);
citire_punct(P2);
cout << "Distanta dintre puncte: " << distanta(P,P2);
cout << "DAti coordonatele a 10 puncte: " << endl;
for (int i=0; i<10; i++)
{
cout << "Punctul " << i << " : ";
citire_punct(pnct[i]);
}
cout << "Coordonatele punctelor: " << endl;
for (int i=0; i<10; i++)
{
afisare_punct(pnct[i]);
}
return 0;
}
Explicație:
am exersat...
sper sa-ti fie de folos. Nu am inteles ce facem cu vectorul de puncte...
Poate modifici ceva....
am inteles ca se doreste aplicarea a 3 functii.
Deci, mai explicit te rog ...