Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <tchar.h>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
const int nrow=10;
const int ncol=10;
ifstream fin("input.txt",ios::in);
if (!fin)
{
cout<<"Can't find input.txt"<<endl;
return 1;
}
ofstream fout("output.txt");
if (!fout)
{
cout<<"Write falure: check permission"<<endl;
return 1;
}
int k,l,k1,l1,counter,i,j;
double sum,sumdiag=0;
//заполнение массива из файла
double a[nrow][ncol];
cout << "Чтение данных из файла..." << endl;
for(i=0;i<nrow;i++)
for(j=0;j<ncol;j++) fin>>a[i][j];
double m[nrow][ncol];
cout<<"Обработка данных..."<<endl;
//процедура сортировки
counter=0;sum=0;l=0;l1=0;
for(i=0;i<nrow;i++)
for(j=0;j<ncol;j++)
{
k=i-1;
k1=i+1;
if (k<0) k++;
if (k1>ncol-1) k1--;
if ((j<=ncol-1)&&(j>=ncol-i)) sumdiag = sumdiag + a[i][j];
for(k;k<=k1;k++)
{
l=j-1;
l1=j+1;
if (l<0) l++;
if (l1>ncol-1) l1--;
for(l;l<=l1;l++)
if ((k==i)&&(l==j)) continue;
else
{
sum=sum+a[k][l];
counter++;
}
}
m[i][j]=(float) sum/counter;
sum=0;
counter=0;
}
//запись отсортированного массива в файл
Cout << "Запись результатов обработки в файл..." << endl;
for(i=0;i<nrow;i++)
{
for(j=0;j<ncol;j++)
fout<<setw(5)<<left<<setprecision(3)
<<m[i][j]<<" ";
fout<<endl;
}
Fout << endl;
Fout << "Сумма всех эл-ов ниже глав. диагонали:" << setw(5) << setprecision(9) << sumdiag << endl;
cout << "Обработка закончена!" << endl;
return 0;
}
Рисунок 6.5 – Файл для входных данных
Рисунок 6.6 – Файл для выходных данных
Рисунок 6.7 – Вывод программы на экран
Дата публикования: 2015-10-09; Прочитано: 391 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!