
- •Содержание
- •Блок-схема для чтения динамической матрицы из файла …….…..22
- •Формулировка задачи № 1
- •Блок-схема для чтения динамической матрицы из файла
- •1.2 Функция для чтения динамической матрицы из файла
- •1.3 Блок-схема для записи динамической матрицы в файл
- •1.4 Функция для записи динамической матрицы в файл
- •1.5 Блок-схема для вывода динамической матрицы на монитор
- •1.6 Функция для вывода динамической матрицы на монитор
- •1.7 Блок- схема для вывода вектора на монитор
- •1.8 Функция для вывода вектора на монитор
- •1.9 Блок-схема для поиска минимальных элементов среди отритцательных элементов строк с четными номерами матрицы a и формирования из них вектора
- •1.10 Функция для поиска минимальных элементов среди отритцательных элементов строк с четными номерами матрицы a и формирования из них вектора
- •1.11 Блок-схема для главной функции
- •1.12 Листинг программы
- •1.13 Результаты вычислений
- •Формулировка задачи № 2
- •2.1 Блок-схема для чтения динамической матрицы из файла
- •Ifstream &f-поток чтения из файла double **a - массив int n-кол-во строк int m- кол-во столбцов char s[40]-массив для имени файла
- •2.2 Функция для чтения динамической матрицы из файла
- •2.3 Блок-схема для записи динамической матрицы в файл
- •2.4 Функция для записи динамической матрицы в файл
- •2.5 Блок-схема для вывода динамической матрицы на монитор
- •2.6 Функция для вывода динамической матрицы на монитор
- •2.7 Блок-схема для поиска первой строки, не содержащей ни одного положительного элемента
- •2.8 Функция для поиска первой строки, не содержащей ни одного положительного элемента
- •2 .9 Блок- схема для перестановки элементов матрицы
- •2.10 Функция для перестановки элементов матрицы
- •2.11 Блок- схема для главной функции
- •2.12 Листинг программы
- •Результаты вычислений
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