fork(1) download
  1. #include<fstream> // Για τη χρήση αρχείων
  2. #include<cmath> // Για τη χρήση της sqrt
  3. using namespace std;
  4.  
  5. ifstream fin("numbers.txt"); // Δημιουργία ροής ανάγνωσης
  6. ofstream fout("squares.txt"); // Δημιουργία ροής εγγραφής
  7.  
  8. int cnt = 0; // Καθολική μεταβλητή για το πλήθος των ακεραίων
  9.  
  10. void fill(int nums[]){ // Συνάρτηση καταχώρισης ακεραίων
  11. while(!fin.eof()){ // στον πίνακα από το αρχείο numbers.txt
  12. fin >> nums[cnt]; // Διαβάζει και καταχωρίζει έναν ακέραιο
  13. cnt++; // Αύξηση του μετρητή
  14. }
  15. }
  16.  
  17. bool square(int n){ // Συνάρτηση για εντοπισμό τέλειου τετραγώνου
  18. int x = (int)(sqrt(n) + 0.5);
  19.  
  20. if (x*x == n)
  21. return true; // Επιστρέφει true αν έχουμε τέλειο τετράγωνο
  22. return false;
  23. }
  24.  
  25. void print(int nums[]){ // Συνάρτηση καταχώρισης στο squares.txt
  26. for(int i=0; i<cnt; i++)
  27. if(square(nums[i])) // Κλήση συνάρτησης εντοπισμού
  28. fout << nums[i] << " ";
  29. }
  30.  
  31. int main() {
  32.  
  33. int numbers[100]; // Καθορισμός μεγέθους με βάση το μέγιστο
  34. fill(numbers); // Συνάρτηση ανάγνωσης αρχείου
  35. print(numbers); // Συνάρτηση εγγραφής σε αρχείο η οποία
  36. // καλεί εσωτερικά τη συνάρτηση square
  37. return 0;
  38. }
  39.  
Time limit exceeded #stdin #stdout 5s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty