Daen .. hat Shinshrii dir die Loesung nicht schon laengst gegeben ? Ich hatte sie extra noch am selben Tag fertig gemacht -__- Code: #include <cstdlib> #include <iostream> #include <vector> using namespace std; #define max 18 int main(int argc, char *argv[]) { vector< pair <char,char> > v,z; bool p[max]; pair<char,char> m; for (int i=0; i<(max-1); ++i) for (int j=i+1; j<max; ++j) v.push_back(pair<char,char>(i,j)); int day=0; while(!v.empty()) { cout<<"Tag "<<++day<<endl; for (int i=0; i<max; ++i) p[i]=true; z.clear(); for (int i=0; i<(max/2); ++i) for (int j=0; j<v.size(); ++j) { m = v[j]; if (p[m.first] && p[m.second]) { z.push_back(m); p[m.first]=false; p[m.second]=false; v.erase(v.begin()+j); --j; } } for( int i=0; i<z.size(); ++i) cout<<(char)(z[i].first+'A')<<" "; cout<<endl; for( int i=0; i<z.size(); ++i) cout<<(char)(z[i].second+'A')<<" "; cout<<endl; } system("PAUSE"); return EXIT_SUCCESS; } Gruss Luki
#include <cstdlib> #include <iostream> #include <vector> using namespace std; #define max 18 int main(int argc, char *argv[]) { vector< pair <char,char> > v,z; bool p[max]; pair<char,char> m; for (int i=0; i<(max-1); ++i) for (int j=i+1; j<max; ++j) v.push_back(pair<char,char>(i,j)); int day=0; while(!v.empty()) { cout<<"Tag "<<++day<<endl; for (int i=0; i<max; ++i) p[i]=true; z.clear(); for (int i=0; i<(max/2); ++i) for (int j=0; j<v.size(); ++j) { m = v[j]; if (p[m.first] && p[m.second]) { z.push_back(m); p[m.first]=false; p[m.second]=false; v.erase(v.begin()+j); --j; } } for( int i=0; i<z.size(); ++i) cout<<(char)(z[i].first+'A')<<" "; cout<<endl; for( int i=0; i<z.size(); ++i) cout<<(char)(z[i].second+'A')<<" "; cout<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
--
Geändert von Ineluki (30.06.2005 um 13:16 Uhr)
Foren-Regeln