УНИВЕРСИТЕТ ПО АРХИТЕКТУРА, СТРОИТЕЛСТВО и ГЕОДЕЗИЯ
КАТЕДРА „АВТОМАТИЗАЦИЯ НА ИНЖЕНЕРНИЯ ТРУД”
__________________________________________________________________________________________
КУРСОВА ЗАДАЧА
по ПИИС
на Иван Петров Иванов
студент от специалност ССС, I курс,
10 група, ф. № 11222
Дата: ..................... Проверил: .........................
/гл. ас. арх. Стоянка Иванова/
Условие:
Дадена е матрица Х с М реда и N стълба, съставена от реални елементи, записани в текстов файл.
4. 1. Да се разменят съответните елементи от първия и последния ред на матрицата.
4. 2. Да се разменят съответните елементи от първия и последния стълб на матрицата.
#include
const Nmax=30;
float X[Nmax][Nmax];
int M,N;
void Open_Matrix(char fname[30], int &M, int &N, float A[Nmax][Nmax]) {
ifstream fin(fname,ios::in);
fin>>M>>N;
for (int i=0; i
for (int j=0; j
fin>>A[i][j];
fin.close();
}
void Write_Matrix(char name[30], int M, int N, float A[Nmax][Nmax]) {
cout<<"Matrix "<
for (int i=0; i
for (int j=0; j
cout<
cout<
}
}
void swap_float(float &a, float &b) {
float c;
c=a; a=b; b=c;
}
void Exchange_Rows(int i1, int i2, int N, float A[Nmax][Nmax]) {
for (int j=0; j
swap_float(A[i1][j],A[i2][j]);
}
void Exchange_Columns(int j1, int j2, int M, float A[Nmax][Nmax]) {
for (int i=0; i
swap_float(A[i][j1],A[i][j2]);
}
void Save_Matrix(char fname[30], int M, int N, float A[Nmax][Nmax]) {
ofstream fout(fname,ios::out);
fout<
for (int i=0; i
for (int j=0; j
fout<
fout<
}
fout.close();
}
void main () {
Open_Matrix("d:\\matrix.txt", M, N, X); // чете матрица от файл
Write_Matrix("X - original",M,N,X); // извежда матрицата на екрана
Exchange_Rows(0,M-1,N,X); // разменя елементите от първия и последния ред
Exchange_Columns(0,N-1,M,X); // разменя елементите от първия и последния стълб
Write_Matrix("X - modified",M,N,X); // извежда променената матрица на екрана
Save_Matrix("d:\\matrix-new.txt", M, N, X); // записва променената матрица във файл
}
Файл с входни данни: d:\matrix.txt
3 4
1 2 3 4
5 6 7 8
9 10 11 12
Сподели с приятели: |