Форум программистов, компьютерный форум CyberForum.ru

Матрица. Перестановка строк - C++

Восстановить пароль Регистрация
 
ZeddzZ
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 5
10.11.2013, 19:31     Матрица. Перестановка строк #1
У матрицы до 100*100 в каждом столбце и каждой строке находится единственный нуль. Переставить строки матрицы таким образом, чтобы нули стояли на главной диагонали.
Программа отказывается работать правильно, возможно она понимает, что я не труЪ программист. Помогите, пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <fstream>
#include <time.h>
#include <iomanip>
using namespace std; 
void LineChange(int **a, int *MembInLine, int *Line_1, int *Line_2)
{ 
    int* i;
    for(*i=0;*i<*MembInLine;*i++);
    {
        a[*Line_1][*i]^=a[*Line_2][*i];
        a[*Line_2][*i]^=a[*Line_1][*i];
        a[*Line_1][*i]^=a[*Line_2][*i];
    }
}
void main()
{
    //Timer + File 
    ofstream out;
    out.open("Answer_C11.txt");
int Arr[100][100];
int n,m;
int i,j;
clock_t start,finish;
int timems, times;
srand(time(0));
//Input
cout<<"Input Amount of Members in Column less than 100"<<endl;
cin>>n;
cout<<"Input Amount of Members in Line less than 100"<<endl;
cin>>m;
out<<"Your Random "<<m<<"*"<<n<<" (Line*Column) Array is "<<endl;
//Randomize + First Out
for (i=0;i<n;i++)
    for (j=0;j<m;j++)
            Arr[i][j]=rand()%100;   // Creating an Array
 
// Filling with 0
for (i=0;i<n;i++)
        {
            Input: cout<<"Enter Column Position for 0 in Line "<<i+1<<"(From 1 to "<<n<<")"<<endl;
            cin>>j;
            if (j>n)
            {
                cout<<"Incorrect Variable. Try Again."<<endl;
                goto Input;
            }
            Arr[i][j-1]=0;   // Creating a 0 Member
        }
start=clock();
 
//First Out
for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
           out<<setw(2)<<Arr[i][j]<<" ";
        out<<endl;
    }
out<<endl;
 
//Work
for (i=0;i<n;i++)
    for (j=0;j<m;j++)
        if ((Arr[i][j]==0)&&(i!=j))
            LineChange(Arr, &n, &i, &j);
 
//Out
out<<"Your Sort Array is "<<endl;
for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
           out<<setw(2)<<Arr[i][j]<<" ";
        out<<endl;
    }
out<<endl;
 
//End
 
finish=clock(); 
timems=(finish-start);
if (timems/1000)
{
    times=timems/1000;
    timems=timems%1000;
    out<<"Elapsed "<<times<<" s "<<timems<<" ms."<<endl;
}
else
    out<<"Elapsed "<<timems<<" ms."<<endl;
system("pause");
out.close();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2013, 19:31     Матрица. Перестановка строк
Посмотрите здесь:

перестановка строк в матрице С++ C++
Перестановка строк матрицы C++
Перестановка строк со столбцами C++
Перестановка строк в матрице (С++) C++
Матрица. Перестановка и сумма элементов C++
C++ Сортировка строк матрицы C++ (перестановка строк)
C++ Перестановка строк матрицы
Обратная матрица (перестановка строк и столбцов) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru