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

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

ofstream &f-поток записи в файл

double **a - массив

int n-кол-во строк

int m- кол-во столбцов

char s[40]-массив для имени файла

Открытие файла для чтения f.open(s)

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

i=0

j=0

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

f>>a[i][j]

i++

i<n

да

нет

j++

j<m

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

f.close()

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

void outputmf(ofstream &f,double **a, int n, int m, char s[40])

{//Объявление перменных

int i,j;

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

f.open(s);

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

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

exit(1);

}

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

{f<<endl;

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

f<<setw(10)<<a[i][j];

}

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

f.close();

}

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

double** a

int n – кол-во строк

int m – кол-во столбцов

i=0

j=0

Вывод а[i][j]

j++

j<m

да

i++

нет

i<n

да

нет

2.6 Функция для вывода динамической матрицы на монитор

void outputm(double** a, int n,int m)

{//Объявление переменных

int i,j;

//Вывод

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

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

cout<<setw(10)<<a[i][j];

cout<<endl;

}

}

2.7 Блок-схема для поиска первой строки, не содержащей ни одного положительного элемента

double** a

int n – кол-во строк и столбцов

int i – номер строки

i=0

j=0

a[i][j]>=0

break

да

j==n-1

Вывод i

нет

да

нет

j++

goto o

j<n

да

i++

нет

i<n

да

Отритцательной строки нет

нет

o:return i

2.8 Функция для поиска первой строки, не содержащей ни одного положительного элемента

int otr(double** a,int n)

{int i,j,o=0;

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

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

{if (a[i][j]>=0) break;

if (j==n-1){cout<<"\n Первая строка, все элементы которой отритцательны: "<<i<<"\n";

goto o;

}

}

}

cout<<"\n Строки со всеми отритцательными элементами нет\n";

o:return i;

}

2 .9 Блок- схема для перестановки элементов матрицы

double** a- матрица

int n- размеры матрицы

Выделение ОП под вектор

i=0

j=0

p[k]=a[i][j]

k++

j++

j<n

i++

i<n

k=0

j=k+1

l=p[k]; p[k]=p[j];

p[j]=l;

P[k]<p[j]

j++

j<z

k++

k<z-1

1

1

i=0

a[i][i]=p[[i]

i++

i<n

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