14.12.2006, 03:01
общий
это ответ
Здравствуйте, Bra!
Вообще-то такой вопрос уже был (66814) и я на него отвечал, но если надо держи ещё раз.
Входные данные:
1 12 13 17 18 19 32 123 21 2 6 7
Выходные данные:
19 17 13 7 2 1
Приложение:
#include <vector>#include <algorithm>#include <functional>#include <stdio.h>using namespace std;bool is_simple_number(unsigned int number) { for(int i = number-1; i>1; i--) if(number % i == 0) return false; return true;}int main(int argc, char* argv[]) { int i; int size; FILE *f; FILE *g; if((f = fopen("f.txt", "r")) == NULL) { printf("Input file reading error"); return 0; } vector<int> vf; vector<int> vg; while(fscanf(f, "%d", &i) != EOF) vf.push_back(i); fclose(f); size = vf.size(); for(i=0; i<size; i++) { if(is_simple_number(vf[i])) vg.push_back(vf[i]); } sort(vg.begin(), vg.end(), greater<int>()); if((g = fopen("g.txt", "w+")) == NULL) { printf("Output file reading error"); return 0; } size = vg.size(); for(i=0; i<size; i++) fprintf(g, "%d ", vg[i]); fclose(g); return 0;}