Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<string>
- #include<iomanip>
- using namespace std;
- void input(float**& A, int& n) {
- char s = ' ';
- fstream f;
- int col = 0, lin = 0;
- f.open("input1.txt", ios::in);
- if (!f.is_open()) cout << "Файл не найден";
- else {
- f >> n;
- if (n != 0 || n != 1) {
- A = new float* [n];
- for (int i = 0; i < n; i++)
- A[i] = new float[n];
- while (!f.eof() && lin < n) {
- while (s != '0' && s != '1' && s != '2' && s != '3' && s != '4' && s != '5' && s != '6' && s != '7' && s != '8' && s != '9' && s != '+' && s != '-' && s != '\n' && !f.eof()) {
- f >> s >> noskipws;
- }
- if (s != '\n') {
- if (col < n) {
- f.unget();
- f >> A[lin][col];
- col++;
- }
- s = ' ';
- }
- else {
- if (lin < n) {
- if (col < n && col != 0) {
- n = col;
- }
- if (col>0) {
- col = 0;
- lin++;
- }
- }
- s = ' ';
- }
- }
- if (lin + 1 < n) n = lin + 1;
- }
- }
- f.close();
- }
- void control(float** A, int n) {
- fstream f;
- f.open("output.txt", ios::out);
- f << "Контрольный вывод:\n таблица" << n <<" на "<< n << endl;
- for (int i = 0; i < n; i++) {
- f << setw(2) << i << '|';
- for (int j = 0; j < n; j++) f <<setw(6)<< A[i][j] << '|' << " ";
- f << endl;
- }
- f.close();
- }
- void max(float**& A, int& n, int k, int m)
- {
- fstream f;
- f.open("output.txt", ios::app);
- f << "Максимальное число: ";
- int max,max1;
- if (m > n) {
- max = A[0][m - n + 1];
- for (int i = 0; i < 2 * n - m; i++) {
- if (A[i][m - n + i + 1] > max)
- max = A[i][m - n + i - 1];
- }
- }
- else {
- max = A[0][n - m - 2];
- for (int i = 0; i < m; i++) {
- if (A[i][n - m + i - 2] > max)
- max = A[i][n-m + i - 2];
- }
- }
- for (int i = 0; i < n; i++) {
- if (A[k - 1][i] > max) max = A[k - 1][i];
- }
- if (2*k<=n)
- for (int i = 0; i < n; i++) {
- if (A[2*k - 1][i] > max) max = A[2*k - 1][i];
- }
- f << max;
- f.close();
- }
- int main() {
- setlocale(LC_ALL, "rus");
- int n=0, lin = 0, col = 0,k,m;
- float** A;
- cin >> k >> m;
- A = new float* [1];
- for (int i = 0; i < 1; i++)
- A[i] = new float[1];
- input(A, n);
- if (n != 0 || n != 1) {
- control(A, n);
- max(A, n, k, m);
- }
- for (int i = 0; i < n; i++)
- delete A[i];
- delete[]A;
- cout << "Результат работы ожидает Вас в output.txt";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement