60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
#ifndef NALOGA0701_VECTORUTIL_H
|
|
#define NALOGA0701_VECTORUTIL_H
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
#include <cstdlib>
|
|
#include <iostream>
|
|
#include "Telefon.h"
|
|
|
|
template<int N, typename T>
|
|
void fillDefault(std::vector<T> &vector) {
|
|
for (int i = 0; i < N; ++i) {
|
|
vector.push_back(T());
|
|
}
|
|
}
|
|
|
|
template<int N>
|
|
void fillDefault(std::vector<Telefon> &vector) {
|
|
for (int i = 0; i < N; ++i) {
|
|
vector.push_back({rand() % 8 + 3, rand() % 3000 + 2000, rand() % 8 + 4});
|
|
}
|
|
}
|
|
|
|
template<typename T>
|
|
std::string toString(const std::vector<T> &vector) {
|
|
std::string ret;
|
|
for (int i = 0; i < vector.size(); ++i) {
|
|
ret += vector[i].toString();
|
|
}
|
|
ret += "\n";
|
|
return ret;
|
|
}
|
|
|
|
template<typename T>
|
|
void print(const std::vector<T> &vector) {
|
|
for (int i = 0; i < vector.size(); ++i) {
|
|
std::cout << vector[i].toString();
|
|
}
|
|
std::cout << "\n";
|
|
}
|
|
|
|
template<typename T>
|
|
std::vector<T> reverse(const std::vector<T> vector) {
|
|
std::vector<T> ret;
|
|
for (int i = vector.size(); i > 0; --i) {
|
|
ret.push_back(vector[i - 1]);
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
template <typename T>
|
|
bool findInList(const std::vector<T> vector, T srch){
|
|
for (int i = 0; i < vector.size(); ++i) {
|
|
if(vector[i].toString() == srch.toString()) return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
#endif //NALOGA0701_VECTORUTIL_H
|