Wskaźnik do funkcji zadanie

Wskaźnik do funkcji zadanie
AL
  • Rejestracja:około 6 lat
  • Ostatnio:około 6 lat
  • Postów:1
0

Witam mam oto takie zadanie:
Napisać i przetestować szablon funkcji min_maks, której parametrami są:

a) tablica porównywalnych elementów dowolnego typu (np. T ),
b) rozmiar w/w tablicy,
c) wskaźnik do funkcji (np. F) z dwoma parametrami typu T i wynikiem typu bool.

Wywołanie funkcji min_maks ma za zadanie wyznaczyć minimum albo maksimum z elementów przekazanej jej tablicy, w zależności od dostarczonej F:
a) bool mniejsze(T pierwszy, T drugi) - zwracającej true jeśli pierwszy < drugi, false w przeciwnym przypadku.
albo
b) bool wieksze(T pierwszy, T drugi) - zwracającej true jeśli pierwszy > drugi, false w przeciwnym przypadku.

I oto mój kod:
`#include <iostream>
#include<cstdio>
using namespace std;

template<typename T>
bool mniejsze(T pierwszy, T drugi)
{
if(pierwszy<drugi)
{
return true;
}
else{ return false;}
}
template<typename T>
bool wieksze(T pierwszy, T drugi)
{
if(pierwszy>drugi)
{
return true;
}
else {return false;}
}

typedef bool(*F)(int ,int);

template<typename T>
T min_maks(T arr[],T rozmiar,F funkcja(T a , T b ))
{
if(funkcja==true&&funkcja==wieksze)
{
T maks=arr[0];
for(int i=0;i<rozmiar;i++)
{if(arr[i]>maks)
{maks=arr[i];}}
return maks;
}

if(funkcja=true&&funkcja==mniejsze)
{
T min=arr[0];
for(int i=0;i<rozmiar;i++)
{if(arr[i]<min)
{min=arr[i];}}
return min;
}
}

int main()
{
int arr[] = {1,2,3};

cout<<min_maks(arr,3,wieksze(3,1));

}

Czy mogę wiedzieć jaki popełniam błąd?

XE
po co ci te klamry przy if-ach jak masz tylko jedną linijkę kodu do nich (return)?
enedil
@Xezolpl: czepiasz się nie tego co trzeba
XE
bo oczy bolą, nawet tego w kod nie dał :(
enedil
@Xezolpl: ja np. zawsze tak robię, w ten sposób unikam ciężkich w debugowaniu bugów, gdzie zapomniałem się, i dodałem jeszcze jedną instrukcję. Generalnie, jest kwestią sporną, czy jest to dobra praktyka, czy nie.
au7h
myślę, że oczy bolą od braku formatowania
Miang
  • Rejestracja:około 7 lat
  • Ostatnio:około 6 godzin
  • Postów:1682
0

przy deklarowaniu parametrów


dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
au7h
  • Rejestracja:ponad 11 lat
  • Ostatnio:około rok
  • Postów:215
0
Kopiuj
template<typename t="T">

?? po co to ="T"
To nie spring

edytowany 2x, ostatnio: au7h

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.