Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya_po_EVM (2).docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
83.29 Кб
Скачать

1.13 Результаты вычислений

Ввести имя файла для чтения матрицы:

D:\BETA\delta.cpp

-2.5 0 3.2 4.1 -6.2

1.1 5 -3.4 -7.2 -10

0.5 -4 2 -3.3 -12

1.7 10 -6.2 -0.17 0

5 5 5 -8 -10

Введите имя файла для записи матрицы:

D:\BETA\delta1.cpp

Вектор из минимальных отритцательных элементов:

-6.2 -12 -10

Введите имя файла для записи вектора:

D:\BETA\delta2.cpp

Для продолжения нажмите любую клавишу . . .

  1. Формулировка задачи № 2

Для выполнения всех действий задачи, данной в варианте, должны быть написаны функции. Матрицы динамические. В тестовом примере матрицу читать из файла, количество строк и столбцов брать равным 5.

Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу, следующий АО величине- в позиции (2, 2), следующий по величине- в позиции (3, 3) и т. д., заполнив таким образом всю главную диаганаль.

Найти номер первой из строк, не содержащих ни одного положительного элемента.

-5 -3.2 12 10 3.1

8.1 3.4 9.9 8.8 7.6

А= -1.2 -5.6 -3.2 -1.1 -0.5

7.1 1.5 3.9 2.8 -4.1

-6.2 -8.1 -1.2 -5.3 -2.6

2.1 Блок-схема для чтения динамической матрицы из файла

Ifstream &f-поток чтения из файла double **a - массив int n-кол-во строк int m- кол-во столбцов char s[40]-массив для имени файла

Выделение ОП под строки и столбцы матрицы

Открыть файл для чтения

f.open(s)

Проверка успешности открытия файла

i=0

j=0

Ввод координат

f >> a[i][j]

j++

j<m

да

i++

нет

i<n

да

1

1

закрытие файла f.close()

return a

2.2 Функция для чтения динамической матрицы из файла

double ** inputmf(ifstream &f,int n, int m, char s[40])

{//Объявление указателей и перемнных

int i,j; double **a;

//Выделение ОП под строки и столбцы матрицы

a=new double *[n];

if(a==NULL){cout<<"\n Не хватает оперативной памяти под строки";

exit(1);

}

for(i=0;i<n;i++)

{a[i]=new double[m];

if(a[i]==NULL){cout<<"\n Не хватает оперативнйо памяти под столбцы";

exit(1);

}

}

//Открытие файла для чтения

f.open (s);

//Проверка успешности открытия файла для чтения

if (f.fail()) {cout<<"\n Ошибка открытия файла";

exit(1);

}

for(i=0;i<n;i++)

{for(j=0;j<m;j++)

f>>a[i][j];

}

//Закрытие файла

f.close();

return a;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]