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

Матрицы: удалить из матрицы столбцы, в которых есть равные элементы - C++

Восстановить пароль Регистрация
 
doh
Сообщений: n/a
30.05.2012, 17:23     Матрицы: удалить из матрицы столбцы, в которых есть равные элементы #1
1.Необходимо удалить из матрицы столбцы, в которых есть равные элементы:
для матрицы:
1 2 3
4 5 3
7 9 8
должно получаться:
1 2
4 5
7 9
Мой вариант кода:
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
for (j=0; j<columns; j++)
{
k=0; i=1;
       for (i=0; i<rows; i++)
       {
       a=A[i][j];
       for (j=0; j<columns; j++)
       {
       if (a!=A[i][j])
       {
       k++;
       }
       }
       if (k==3)
       {
       Q[i]=j;
       }
       }
}
for (i=0; i<rows; i++)
{
       for (j=0; j<columns; j++)
       {
       m=Q[j];
       B[i][m]=A[i][j];
       }
cout<<"\n";
}
но не выходит.

2.необходимо сформировать вектор
для матрицы:
1 2 3
4 5 6
7 8 9
вектор должен быть:
14579
прошу вашей помощи!
мой вариант такой, но не получается.
C++
1
2
3
4
5
6
7
8
9
vector[0]=A[1][1];
j=0;
for(i=1; i<rows; i++)
{
j++;
vector[j]=A[i][1];
j++;
vector[j]=A[i+1][i+1];
}
Прошу вашей помощи или хотя бы пояснения! Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 17:23     Матрицы: удалить из матрицы столбцы, в которых есть равные элементы
Посмотрите здесь:

C++ [C++] есть ли в столбце двумерной матрицы равные элементы
Удалить из каждой строки матрицы все элементы, величина которых находится в отрезке (a,b) C++
C++ Обнулить столбцы матрицы, в которых находятся максимальный и минимальный элементы
C++ Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить)
C++ Удалить все столбцы матрицы, в которых первый элемент больше последнего
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
30.05.2012, 17:32     Матрицы: удалить из матрицы столбцы, в которых есть равные элементы #2
По задаче 2:
Непонятно по какому правилу там вообще должен формироваться вектор, но если его нет , то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int matr[3][3]={1,2,3,4,5,6,7,8,9};
    int vektor[5];
    vektor[0]=matr[0][0];
    vektor[1]=matr[1][0];
    vektor[2]=matr[1][1];
    vektor[3]=matr[2][0];
    vektor[4]=matr[2][2];
    for(int i=0;i<5;i++)
        cout<<vektor[i]<<" ";
    getch();
    return 0;
}
doh
Сообщений: n/a
30.05.2012, 17:34     Матрицы: удалить из матрицы столбцы, в которых есть равные элементы #3
Цитата Сообщение от Andrey.K Посмотреть сообщение
По задаче 2:
Непонятно по какому правилу там вообще должен формироваться вектор, но если его нет , то:
}[/CPP]
для матрицы 3х3:
а11, а21, а22, а31, а33
Надеюсь, я нормально пояснил.
Спасибо за помощь!
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
30.05.2012, 18:24     Матрицы: удалить из матрицы столбцы, в которых есть равные элементы #4
Заставила подумать 2 задачка
Держи:
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
#include <iostream>
#include <conio.h>
using namespace std;
const int n=3;
int main()
{
    int matr[3][3]={1,2,3,4,5,6,7,8,9};
    int vektor[5];
    int pos=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(i==j || j-i==-2 || (i-j==1 && i!=2))
            {
                vektor[pos]=matr[i][j];
                pos++;
            }
        }
    }
    for(int i=0;i<pos;i++)
        cout<<vektor[i]<<" ";
    getch();
    return 0;
}
Yandex
Объявления
30.05.2012, 18:24     Матрицы: удалить из матрицы столбцы, в которых есть равные элементы
Ответ Создать тему
Опции темы

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