Алгоритмы и структуры данных на С++. Аксёнова Е.А - 18 стр.

UptoLike

18 Глава 1. Некоторые конструкции языка С++
Второй способ
В примере реализована функция сложения двух комплексных чи-
сел, в которую входные структуры передаются по значению, а сумма
описана как указатель на структуру, и в функцию передается ее ад-
рес.
#include <stdio.h>
struct complex{float re; float im;};
void sum(complex, complex, complex*);
int main()
{
complex z, x={1.4, 2.5}, y={2.6, 3.1}; //описания переменных
sum (x, e, &z);
printf("re=%f im=%f", z.re, z.im); // вывод
}
void sum (complex a, complex b, complex *c)
{
c -> re = a.re + b.re; // c->re эквивалентно (*c).re
c -> im = a.im + b.im;
}
Третий способ
В примере реализована функция сложения двух комплексных чи-
сел, в которой все параметры описаны как указатели на структуры.
#include <stdio.h>
struct complex{float re; float im;};
void sum (complex *, complex *, complex *);
int main()
{
complex z, x={1.4, 2.5}, y={2.6, 3.1};
sum (&x, &y, &z);
printf("re=%f im=%f", z.re, z.im);
}
void sum(complex *a, complex *b, complex *c)
18                   Глава 1. Некоторые конструкции языка С++


   Второй способ
   В примере реализована функция сложения двух комплексных чи-
сел, в которую входные структуры передаются по значению, а сумма
описана как указатель на структуру, и в функцию передается ее ад-
рес.

#include 
struct complex{float re; float im;};
void sum(complex, complex, complex*);

int main()
{
  complex z, x={1.4, 2.5}, y={2.6, 3.1}; //описания переменных
  sum (x, e, &z);
  printf("re=%f im=%f", z.re, z.im);     // вывод
}

void sum (complex a, complex b, complex *c)
 {
   c -> re = a.re + b.re; // c->re эквивалентно (*c).re
   c -> im = a.im + b.im;
 }

   Третий способ
   В примере реализована функция сложения двух комплексных чи-
сел, в которой все параметры описаны как указатели на структуры.

#include 
struct complex{float re; float im;};
void sum (complex *, complex *, complex *);

int main()
 {
    complex z, x={1.4, 2.5}, y={2.6, 3.1};
    sum (&x, &y, &z);
    printf("re=%f im=%f", z.re, z.im);
 }

void sum(complex *a, complex *b, complex *c)