Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++]Матрицы+указатели


Автор: Palladin 21.1.2007, 22:59
Вот задача:
Определить, является ли заданная целая квадратная матрица размером N ортонормированной, т.е. такой, в которой скалярное произведение каждой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно 1.

Вот решение по обычному:

Код

int main()
{
int a[10][10];
int i,j,n,p,t,y,r;
cout<<"Vvedite razmernost matrici: ";
if(n<10)if(n>0)cin>>n;
cout<<endl;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
cout<<"A["<<i<<","<<j<<"]= ";
cin>>a[i][j];
}
t=0;
y=0;
r=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
p+=a[i][j]*a[i][j];
}
if(p==1){y++; p=0;}else{p=0;}
}
p=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
p+=a[i][j]*a[i+1][j];
}
if(p==0){p=0;r++;}else p=0;
}
if(r==n-1)y=(y+n);
if(y==2*n){cout<<"Matrica ortonormirovannaya!!!! ";}else{cout<<"Matrica ne ortonormirovannaya!!!!";}
for(i=0;i<n;i++)
{
cout<<" "<<endl;
for(j=0;j<n;j++)
{
cout<<" "<<a[i][j];
}
}
getch();
return 0;
}


Нужно переделать чтоб с указателями и чтоб ещё одна с выделением памятиsmile

P.S. Кста может она не правильно пашет, т.к. тест я придумать для этого задания не смогsmile

Автор: Palladin 23.1.2007, 01:21
Лана если не хотите делать всю программу, покажите хотя бы пример, как мне ввести массив через указатели и с выделением памяти
и как передать массив в функцию???? а потом из одной функции в другую, плз оч надоsmile

P.S. Сорри за то что тему поднял smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)