![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Листинг 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 – Вывод программы на экран
|