Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "libreria archivos.cpp"
- #include <sstream>
- #define LAT 181
- #define LON 361
- using namespace std;
- struct par {
- int cantidad = 0;
- double promedio = 0;
- };
- struct file_t {
- int segundo = 0;
- int latitud = 0;
- int longitud = 0;
- double temperatura = 0;
- };
- void generar_matriz (string nombre, array<array<par,LON>,LAT>& arr)
- {
- file_t r;
- ifstream file (nombre, ios::binary);
- check_open(file);
- while (readblock(file,r))
- {
- arr.at(r.latitud+90).at(r.longitud+180).promedio += r.temperatura;
- arr.at(r.latitud+90).at(r.longitud+180).cantidad++;
- }
- for (int i=0; i<LAT; i++)
- for (int j=0; j<LON; j++)
- if (arr.at(i).at(j).cantidad != 0)
- arr.at(i).at(j).promedio /= arr.at(i).at(j).cantidad;
- }
- /*
- void generar_matriz (ifstream& file, array<array<par,LON>,LAT>& arr)
- {
- file_t r;
- while (readblock(file,r))
- {
- arr.at(r.latitud+90).at(r.longitud+180).promedio += r.temperatura;
- arr.at(r.latitud+90).at(r.longitud+180).cantidad++;
- }
- for (int i=0; i<LAT; i++)
- for (int j=0; j<LON; j++)
- if (arr.at(i).at(j).cantidad != 0)
- arr.at(i).at(j).promedio /= arr.at(i).at(j).cantidad;
- }
- */
- void mostrar_matriz (array<array<par,LON>,LAT>& arr)
- {
- for (int i=0; i<LAT; i++)
- {
- for (int j=0; j<LON; j++)
- cout << arr.at(i).at(j).cantidad << ' ' << arr.at(i).at(j).promedio << " ";
- cout << endl;
- }
- cout << endl;
- }
- double promedio_de_region (array<array<par,LON>,LAT>& arr, int lat1, int lon1, int lat2, int lon2)
- {
- double acumulador = 0; int c = 0;
- for (int i=lat1+90; i<lat2+91; i++)
- for (int j=lon1+180; j<lon2+181; j++)
- {
- if (arr.at(i).at(j).cantidad != 0)
- {
- acumulador += arr.at(i).at(j).promedio;
- c++;
- }
- }
- if (c != 0)
- return acumulador/c;
- else
- return 0;
- }
- int main()
- {
- array<array<par,LON>,LAT> arr;
- stringstream ss; string nombre;
- ss << "medidas.bin";
- //ifstream input ("../final 1b - crear archivo/medidas.bin", ios::binary);
- cout << "Ingrese el nombre del archivo: ";
- ss >> nombre;
- cout << nombre << endl << endl;
- generar_matriz (nombre, arr);
- cout << "El promedio de la region es: " << promedio_de_region(arr,-50,0,49,0) << endl;
- //mostrar_matriz(arr);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement