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


Автор: Fedor1989 10.12.2007, 15:28
Помогите дописать лабу
 Дана квадратная матрица мне нужно что бы он выводил [k] строку и [k] столбец совпадаюших строк, и еще выводил первую [k] строку и [k] столбец не совпадаюших строк.
например 
1 1 1
1 2 3
1 5 9
он должен мне вывести совпадаюшая строка и столбец =[0]
и не совпадаюшую первую строку и столбец =[1]
Я написал толька для совпадаюшей строки и столбца
Код

#include<iostream.h>
void main(void)
{double **A;
int n;
cout<<"vvedite kol-vo strok i stolbcov"<<endl;
cin>>n;
A=new double *[n];
for(int i=0;i<n;i++)
{A[i]=new double [n];
for(int j=0;j<n;j++)
{
cout<<"A["<<i<<"]["<<j<<"]"<<endl;
cin>>A[i][j];
}
}
int r=0;
for(int t=0;t<n;t++)
{r=0;
for(int p=0;p<n;p++)
{
if (A[t][p]==A[p][t])
r++;
if(r==n)
cout<<t<<endl;
}}}







Автор: FREEDEV 10.12.2007, 17:31
Код

int _tmain(int argc, _TCHAR* argv[])
{
    int matrix[3][3] = {{1,1,1},{1,2,3},{1,5,9}};
    
    bool match = true;
    for(int i=0;i<3;i++)
    {
        match = true;
        for(int j=0;j<3;j++)
            if(matrix[i][j]!=matrix[j][i])
            {
                match = false;
                break;
            }
        if(match)
            std::cout<< i << " row = " << i << " column"<<std::endl;
        else
            std::cout<< i << " row != " << i << " column"<<std::endl;
    }
    
    std::cin.get();
    return 0;
}


Добавлено через 2 минуты и 4 секунды
так будут выведены совпадающие и не совпадающие, если нужно только первое не совпадение - можно выйти из цикла

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