Страница 1 из 1
дополнить...
Добавлено: 17 мар 2013, 05:46
Respected
Код: Выделить всё
/* транспонировать матрицу, используя функции. я матрицу транспонировал, а через функцию не знаю как правильно делать, нужна помощь :confused: */
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
main()
{
clrscr();
randomize();
int a[100][100];
int k, l, i, j, temp;
cout<<"k=";
cin>>k;
cout<<"l=";
cin>>l;
for(i=0; i<k; i++)
for(j=0; j<l; j++)
a[i][j]=random(20);
cout<<"\n";
for(i=0; i<k; i++)
{
for(j=0; j<l; j++)
cout<<" "a[i][j];
cout<<"\n";
}
for(i=0; i<k; i++)
for(j=0; j<l; j++)
{
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
cout<<"Transp.\n";
for(i=0; i<k; i++)
{
for(j=0; j<l; j++)
cout<<" "<<a[j][i];
cout<<"\n";
}
while(!kbhit());
return 0;
}
Re: дополнить...
Добавлено: 17 мар 2013, 17:58
interacia
Код: Выделить всё
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
// транспонировать матрицу, используя функции.
void MOnitor(int v[100][100], int n,int m)
{ // функция вывода на экрын
for(int ii=0; ii<n; ii++)
{
for(int jj=0; jj<m; jj++){
cout.width(5);
cout<<v[ii][jj];
}
cout<<"\n";
}
}
void TikTak(int& ii, int& jj)
{ // функция обмена значениями
int temp;
temp=ii;
ii=jj;
jj=temp;
}
void Transp(int v[100][100], int& n, int& m)
{ // функция транспонирования матрицы
for(int ii=0; ii<n; ii++)
for(int jj=0; jj<m; jj++)
{
TikTak(v[ii][jj],v[jj][ii]);// вызов функции
}
TikTak(n,m);// вызов функции
}
void MasRandom(int v[100][100], int& n, int& m)
{ // функция заполнения матрицы
for(int ii=0; ii<n; ii++)
for(int jj=0; jj<m; jj++)
v[ii][jj]=random(20);
}
main()
{
system("chcp 1251 > nul"); // руский язык в консоли
clrscr();
randomize();
int a[100][100];
int k, l, i, j, temp;
cout<<"k=";
cin>>k;
cout<<"l=";
cin>>l;
MasRandom(a,k,l); // вызов функции
cout<<"\n";
MOnitor(a,k,l); // вызов функции
Transp(a,k,l); // вызов функции
cout<<"Transp.\n";
MOnitor(a,k,l); // вызов функции
system("PAUSE"); // пауза при выходе можно убрать
return 0;
}
Вот пример.