#include <iostream>
#include <vector>
using namespace std;
//z iteratorem
template<typename Wot>
void wypisz(vector<vector<Wot>> v){
for(vector<vector<Wot>>::iterator it= v.begin();it!= v.end();it++){
for (vector<Wot>::iterator j = (*it).begin() ;j != (*it).end() ;j++){
cout<<*j<<'_';
}
cout << endl;
}
}
void wypisz1(vector<vector<int>> v){
for(vector<int> i : v){
for (int j : i ){
cout<<j<<'_';
}
cout << endl;
}
}
void wypisz2(vector<vector<int>> v){
for(int i = 0 ; i < v.size();i++){
for (int j = 0 ; j < v[i].size();j++ ){
cout<<v[i][j]<<'_';
}
cout << endl;
}
}
int main(){
vector<vector<int>> v={{1,2,3,4},{1,2,3},{1,2}};
wypisz(v);
wypisz1(v);
wypisz2(v);
vector<vector<double>> v1={{1.,2.,3.,4.},{1.,2.},{1.,2.},{1.,2.,3.}};
wypisz(v1);
}
Ktoś może mi powiedzieć dlaczego szablon taki mi nie działa ?
Jeśli pozbedziemy sie szablonu to kod działa
#include <iostream>
#include <vector>
using namespace std;
//z iteratorem
//template<typename Wot>
void wypisz(vector<vector<int>> v){
for(vector<vector<int>>::iterator it= v.begin();it!= v.end();it++){
for (vector<int>::iterator j = (*it).begin() ;j != (*it).end() ;j++){
cout<<*j<<'_';
}
cout << endl;
}
}
void wypisz1(vector<vector<int>> v){
for(vector<int> i : v){
for (int j : i ){
cout<<j<<'_';
}
cout << endl;
}
}
void wypisz2(vector<vector<int>> v){
for(int i = 0 ; i < v.size();i++){
for (int j = 0 ; j < v[i].size();j++ ){
cout<<v[i][j]<<'_';
}
cout << endl;
}
}
int main(){
vector<vector<int>> v={{1,2,3,4},{1,2,3},{1,2}};
wypisz(v);
wypisz1(v);
wypisz2(v);
//vector<vector<double>> v1={{1.,2.,3.,4.},{1.,2.},{1.,2.},{1.,2.,3.}};
//wypisz(v1);
}