Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Листинг 6.5



#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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...