[ Foro de C++ ]

Mejorar código

19-Jul-2023 17:45
Invitado (JulioC)
0 Respuestas

Hola a todos. Por favor agradeceré su ayuda.
Este código funciona correctamente, pero exige que ingrese los 2000 números uno por uno ¿que debo agregar y/o quitar-modificar para que me permita copiar los 2000 números de una tabla de acces y pegarlos de una sola vez y que el programa los registre en el órden en que aparecen para luego continuar con el resto del proceso? Muchas gracias.

#include <iostream>
#include <vector>

using namespace std;

int main() {

   // Create a vector to store the numbers.
   vector<int> numbers;

   // Ask the user to enter 2000 numbers.
   for (int i = 0; i < 2000; i++) {
       int number;
       cout << "Enter a number: ";
       cin >> number;
       numbers.push_back(number);
   }

   // Look for patterns in the numbers.
   // One possible pattern is to look for consecutive numbers.
   vector<int> consecutiveNumbers;
   for (int i = 0; i < numbers.size() - 1; i++) {
       if (numbers[i] + 1 == numbers[i + 1]) {
           consecutiveNumbers.push_back(numbers[i]);
       }
   }

   // Another possible pattern is to look for numbers that appear more than once.
   vector<int> repeatedNumbers;
   for (int i = 0; i < numbers.size(); i++) {
       int count = 0;
       for (int j = 0; j < numbers.size(); j++) {
           if (numbers[i] == numbers[j]) {
               count++;
           }
       }
       if (count > 1) {
           repeatedNumbers.push_back(numbers[i]);
       }
   }

   // Predict the next 20 numbers.
   // One possible way to do this is to look at the patterns that we found and use them to predict which numbers are likely to appear next.
   vector<int> predictedNumbers;
   for (int i = 0; i < 20; i++) {
       if (consecutiveNumbers.size() > 0) {
           predictedNumbers.push_back(consecutiveNumbers.back());
           consecutiveNumbers.pop_back();
       } else if (repeatedNumbers.size() > 0) {
           predictedNumbers.push_back(repeatedNumbers.back());
           repeatedNumbers.pop_back();
       } else {
           predictedNumbers.push_back(numbers.back());
       }
   }

   // Print the predicted numbers.
   cout << "The predicted numbers are: ";
   for (int i = 0; i < predictedNumbers.size(); i++) {
       cout << predictedNumbers[i] << " ";
   }
   cout << endl;

   return 0;
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)