Думаю, вместо цикла
Цитата(Leno @ 4.1.2013, 16:05 ) | for(i = 0;i < max_size;i++) { f = true; f2 = f; for(int j = 0;(j < max_size) && f;j++) { if(X[i] == Y[j]) f = false; if(Y[i] == X[j]) f2 = false; } if(f) { Z[iz] = X[i]; //запись в массив Z iz++; } if(f2) { Z[iz] = Y[i]; //запись в массив Z iz++; } } |
сделать такой цикл| Код | for( i = 0; i < max_size; i++) { for( int j = 0; j < max_size; j++) if( X[i] == Y[j] ) Z[iz++] = X[i]; } |
Правда остаётся вопрос об одинаковых числах в одном и том же массиве. Вот чему должно быть равно пересечение таких множеств:| Код | int X[3] = { 1, 1, 1}; int Y[3] = { 1, 1, 1};
|
Предлагаемый код породит следующее пересечение:| Код | int Z[6] = { 1, 1, 1, 1, 1, 1};
|
Это правильно??? |