Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 22
1

Как найти в матрице количество различных элементов?

20.11.2016, 22:29. Показов 646. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <windows.h>
#include <iostream>
using namespace std;
 
struct ssmatrix //Структура хранения матрицы
{
    int N;
    int NZ;
    int *AD;
    int *AU;
    int *AL;
    int *LJ;
    int *LI;
};
 
void initializeMatrix(int N, int NZ, ssmatrix &mtx) //Функция инициализации матрицы
{
    mtx.N=N;
    mtx.NZ=NZ;
    mtx.AD=new int [N];
    mtx.AU=new int [NZ];
    mtx.AL=new int [NZ];
    mtx.LJ=new int [NZ];
    mtx.LI=new int [N];
}
 
void fillingMatrix(int N, int NZ, ssmatrix &mtx) //Функция заполнения массивов структуры матрицы
{
    int i, j, c=0, el, i1=0, b=-1;
 
    cout<<"Введите элементы диагонали";
    for(i=0;i<N;i++) cin>>mtx.AD[i];
    cout<<"Введите элементы матрицы:";
    while(c!=NZ)
    {
        cout<<"Координаты i,j = "; cin>>i>>j;
        cout<<"["<<i<<"]["<<j<<"] = "; cin>>el; mtx.AU[i1]=el; mtx.LJ[i1]=j;
        if(b<i)
        {
            mtx.LI[i]=i1;
            b=i;
        }
 
        cout<<"["<<j<<"]["<<i<<"] = "; cin>>el; mtx.AL[i1]=el;
 
        //cout<<"Продолжить? 0-выйти"; cin>>c;
        c++;
        i1++;
    }
    mtx.LI[N-1]=i1;
 
    for(i=N-1;i>=0;i--)
    {
        if(mtx.LI[i]<0) mtx.LI[i]=mtx.LI[i+1];
    }
}
 
int procedureMatrix(int i, int j, ssmatrix &mtx) //Поиск элемента матрицы
{
    int AA=0, N1, N2, k;
    N1= mtx.LI[i];
    N2= mtx.LI[i+1];
 
    if(i==j) return mtx.AD[i];
    if(i<j)
    {
        N1= mtx.LI[i];
        N2= mtx.LI[i+1];
        for(k=N1;k<N2;k++) if(mtx.LJ[k]==j) {AA=mtx.AU[k];break;}
    }
    if(i>j)
    {
        N1= mtx.LI[j];
        N2= mtx.LI[j+1];
        for(k=N1;k<N2;k++) if(mtx.LJ[k]==i) {AA=mtx.AL[k];break;}
    }
    return AA;
}
 
void printMatrix(int N, ssmatrix &mtx) //Вывод матрицы на экран
{
    for (int i=0;i<N;i++)
    {
        for ( int j=0;j<N;j++) cout<<procedureMatrix(i,j,mtx)<<" ";
        cout<<endl;
    }
}
 
int main(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"RUSSIAN"); //Включаем русский язык в консоли
 
    struct ssmatrix mtx;
    struct ssmatrix invmtx;
    int N,NZ,i,j;
 
    cout<<"Размерность матрицы: "; cin>>N;
    cout<<"Кол-во ненулевых элементов верхнего или нижнего треугольника: "; cin>>NZ;
 
    initializeMatrix(N, NZ, mtx); //Инициализируем матрицу mtx
    initializeMatrix(N, NZ, invmtx); //Инициализируем матрицу invmtx
    fillingMatrix(N, NZ, mtx);
 
    //-------- Выводим массивы для проверки
    cout<<endl<<"AD "; for(i=0;i<N;i++) cout<<mtx.AD[i]<<" ";
    cout<<endl<<"AU "; for(i=0;i<NZ;i++) cout<<mtx.AU[i]<<" ";
    cout<<endl<<"AL "; for(i=0;i<NZ;i++) cout<<mtx.AL[i]<<" ";
    cout<<endl<<"LJ "; for(i=0;i<NZ;i++) cout<<mtx.LJ[i]<<" ";
    cout<<endl<<"LI "; for(i=0;i<N;i++) cout<<mtx.LI[i]<<" ";
    //--------
    cout<<endl;
 
    printMatrix(N,mtx);
 
    return 0;
}
Подскажите, как найти в этой матрице количество ее различных элементов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2016, 22:29
Ответы с готовыми решениями:

Найти количество различных элементов в матрице
не получается найти количество различных элементов программа вроде работает, но не во всех случаях...

Найти количество различных элементов в матрице
Дана матрица A(m,n). Найти количество различных элементов в каждом столбце.

В матрице найти количество различных по значению элементов в каждом столбц
В заданной матрице A(N,M) найти количество различных по значению элементов в кадом столбце. Затем...

В матрице найти номера строк, содержащие в нечетных позициях нули, и определить количество различных элементов
Дана целочисленная прямоугольная матрица. 1) найти номера строк, в которых на всех нечетных...

0
20.11.2016, 22:29
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2016, 22:29
Помогаю со студенческими работами здесь

Количество различных элементов в матрице
Добрый день! Необходима консультация.. Хочу реализовать подсчет количества уникальных элементов....

В матрице найти количество различных чисел
Нужна помощь.Задана матрица размером N*M. Определить количество различных значений матрицы, т.е....

В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице
В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество...

Как найти количество различных элементов одномерного масива A(Q) , принадлежащих отрезку [R,P]
Составьте программу подсчета числа различных элементов одномерного масива A(Q) , принадлежащему...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
Чем отличаются public, protected, package-private и private в Java
bytestream 27.01.2025
В языке программирования Java механизм модификаторов доступа играет ключевую роль в реализации одного из фундаментальных принципов объектно-ориентированного программирования - инкапсуляции. . . .
Зачем нужно explicit в C++. Преобразование типов
bytestream 27.01.2025
В мире программирования на C++ управление преобразованием типов данных играет crucial роль в создании надежного и безопасного кода. Язык C++ предоставляет множество механизмов для контроля над. . .
Как создать удалённую (remote) ветку в Git
bytestream 27.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления кодовой базой. Одним из ключевых. . .
Как создать утечку памяти в Java
bytestream 27.01.2025
Утечка памяти в Java представляет собой ситуацию, когда программа неэффективно использует доступную память, удерживая ссылки на объекты, которые больше не нужны для работы приложения. Несмотря на. . .
КуМир: как решать задачи на числа
bytestream 27.01.2025
КуМир (Комплект Учебных МИРов) представляет собой уникальную образовательную среду программирования, разработанную специально для обучения основам алгоритмизации и программирования. Эта система. . .
Исполнитель Черепаха в КуМир: как решать задачи
bytestream 27.01.2025
Исполнитель Черепаха в системе КуМир представляет собой мощный образовательный инструмент, который помогает освоить основы программирования через визуальное представление результатов выполнения. . .
КуМир: как решать задачи на массивы
bytestream 27.01.2025
Массивы представляют собой важнейшую структуру данных в программировании, и система КуМир предоставляет удобные инструменты для работы с ними. В контексте КуМир массив можно представить как. . .
[golang] 26. Remove Duplicates from Sorted Array
alhaos 27.01.2025
Необходимо удалить дубликаты из предоставленного целочисленного отсортированного по взрастанию слайса, нужно изменить значения в слайсе и вернуть количество элементов. / / . . .
КуМир, исполнитель Робот. Решение задач
bytestream 27.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения программированию, которая была создана в Отделении информатики Российской Академии наук. Эта система разработана. . .
Асинхронное программировани­е и async/await в JavaScript
bytestream 27.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в современной разработке на JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru