Sei sulla pagina 1di 3

#include<iostream>

#include<iomanip>
#include<conio.h>

using namespace std;

//Primer paso: apartar espacios de memoria para los arreglos

char AGNOS[15][10];
char POZOS[20][45];
float PRODUCCION[20][15], TOTYEAR[15], TOTPOZ[20];
float promedio(float *array, int position, int N)
{
float retorno;
if (position == N - 1)
retorno = array[position];
else if (!position)
retorno = (array[position] + promedio(array, position + 1, N)) / N;
else
retorno = array[position] + promedio(array, position + 1, N);
return retorno;

}
int main()
{
//Paso 2: Pedir al usuario la cantidad de años y la cantidad de pozos a
procesar
cout << "\n \250A cu\240ntos a\xA4os desea realizar el an\240lisis\77: ";
int na;
cin >> na;
cout << "\n \250A cu\240ntos pozos desea realizar el an\240lisis\77: ";
int np;
cin >> np;
// Paso 3: ingresar los nombres de los pozos
cin.ignore();
for (int p = 0; p <= np - 1; p++)
{
cout << "\n Nombre del pozo[" << p + 1 << "] = ";
cin.getline(POZOS[p], 45);
}
// Paso 4: ingresar los datos de los años a evaluar.
cout << "\n Digite los a\xA4os a analizar en su orden ";
cin.ignore();
for (int q = 0; q <= na - 1; q++)
{
cout << "\n Digite el a\xA4o[" << q + 1 << "] = ";
cin.getline(AGNOS[q], 10);
}
// Paso 5: Ingresar la producción en MBPD por pozo
for (int laquequieran = 0; laquequieran <= np - 1; laquequieran++)
{
cout << "\n Para el pozo " << POZOS[laquequieran] << " digite el
n\243mero de MBPD para el a\xA4o: ";
for (int laotra = 0; laotra <= na - 1; laotra++)
{
cout << "\n" << AGNOS[laotra] << " ";
cin >> PRODUCCION[laquequieran][laotra];
}
}
//Paso 6: sumar la producción de cada campo en todos los años del análisis y
el resultado almacenarlo en TOTPOZ
cout << "\n Producci\242n por pozos ";
for (int i = 0; i <= np - 1; i++)
{
float ACUMPOZOS = 0;
for (int j = 0; j <= na - 1; j++)
{
ACUMPOZOS += PRODUCCION[i][j];
}
TOTPOZ[i] = ACUMPOZOS;
cout << "\n" << POZOS[i] << "\t" << TOTPOZ[i];
}
//Paso 7: sumar la producción en cada año de todos los pozos y el resultado
almacenarlo en TOTYEAR.
cout << "\n Producci\242n por a\xA4os ";
for (int z = 0; z <= na - 1; z++)
{
float ACUMYEAR = 0;
for (int d = 0; d <= np - 1; d++)
{
ACUMYEAR += PRODUCCION[d][z];
}
TOTYEAR[z] += ACUMYEAR;
cout << "\n" << AGNOS[z] << "\t" << TOTYEAR[z];
}
//Paso 8: hallar el promedio de producción en los pozos
float PROMPOZOS;
PROMPOZOS = promedio(TOTPOZ, 0, np);
cout << "\n El promedio de producci\242n de los pozos es : " << PROMPOZOS;
//Paso 8.1: hallar el promedio de producción en los años.
float PROMYEAR;
PROMYEAR = promedio(TOTYEAR, 0, na);
cout << "\n El promedio de producci\242n anual de los campos trabajados es :
" << PROMYEAR;
//Paso 9: imprimir el nombre de los pozos y su producción, siempre que su
producción esté por encima del promedio.
for (int m = 0; m <= np - 1; m++)
{
if(TOTPOZ[m] > PROMPOZOS)
{
cout << "\n Los pozos que est\240n por encima del promedio de
producci\242n son : ";
cout << "\n" << POZOS[m] << "\t" << TOTPOZ[m];
}
else
{
}
}
//Paso 11: imprimir el año en que hubo la mayor producción
float mayorpryear = TOTYEAR[0];
int f;
for (int u = 0; u <= na - 1; u++)
{
if (TOTYEAR[u]>mayorpryear)
{
mayorpryear = TOTYEAR[u];
f = u;
}
}
cout << "\n En el a\xA4o " << AGNOS[f] << " se presenta la producci\242n
m\240s alta con un total de " << mayorpryear;
//Paso 12: imprimir el promedio de producción de cada año.
float promyears[15];
int r;
for (r = 0; r <= na - 1; r++)
{
promyears[r] = TOTYEAR[r] / np;
}
cout << "\n El promedio de producci\242n por a\xA4o es : ";
cout << "\n" << AGNOS[na - 1] << "\t" << promyears[na - 1];
getch();
}

Potrebbero piacerti anche