Witam napisałem program jest on poprawny, jednak czy jest możliwość jego optymalizacji za pomocą funkcji lub metod?
#include <iostream>
template <typename T, typename T2>
void ShowArray(T2 suma, T arr[], int n); // szablon A
template <typename T, typename T2>
void ShowArray(T2 suma, T * arr[], int n); // szablon B
struct debts
{
char name[50];
double amount;
};
int main()
{
int things[6] = {13, 31, 103, 301, 310, 130};
int suma_a;
struct debts mr_E[3] =
{
{"Ima Wolfe", 2400.0},
{"Ura Foxe", 1300.0},
{"Iby Stout", 1800.0}
};
double * pd[3];
double suma_b;
//ustawienie wskaznika na pola amount struktur z tablicy Mr_E
for(int i=0; i<3; i++)
pd[i] = &mr_E[i].amount;
std::cout << "Wyliczanie rzeczy Pana E.:\n";
ShowArray(suma_a, things, 6); // szablon A
std::cout << "wyliczanie dlugow Pana E.:\n";
//pd to tablica wskaznikow na double
ShowArray(suma_b, pd, 3); // szablon B
return 0;
}
template <typename T, typename T2>
void ShowArray(T2 suma, T arr[], int n)
{
std::cout << "szablon A\n";
for(int i=0; i<n; i++)
suma += arr[i];
std::cout << "Suma zadluzenia: "<< suma << "\nIlosc przedmiotow: " << n << std::endl;
}
template <typename T, typename T2>
void ShowArray(T2 suma, T * arr[], int n)
{
std::cout << "szablon B\n";
for(int i=0; i<n; i++)
suma += (*arr[i]);
std::cout << "Suma zadluzenia: " << suma << "\nIlosc przedmiotow: " << n << std::endl;
}
Program podaje sumę zadłużenia oraz ilość przedmiotów.