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

Определить количество различных значений матрицы - C++

Восстановить пароль Регистрация
 
error777
6 / 6 / 1
Регистрация: 07.02.2009
Сообщений: 175
29.12.2010, 21:49     Определить количество различных значений матрицы #1
Помогите пожалуйсто с задачкой написать программу по обработке динамических массивов, размеры массивов водить с клавиатуры.
Задана матрица размером MxN определить количество различных значений матрицы (тоесть повторяющиеся элементы считать один раз).сделать с выделением и освобождением памяти

Только решить надо по простенькому, для первакурсника
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2010, 21:49     Определить количество различных значений матрицы
Посмотрите здесь:

Посчитать количество различных значений в массиве C++
Определить количество различных элементов матрицы C++
C++ Определить количество различных элементов матрицы
количество различных элементов матрицы C++
Динамический массив. Определить количество различных элементов матрицы C++
Определить количество различных элементов матрицы C++
C++ Матрицы. Определить количество различных значений
Определить количество положительных, отрицательных и нулевых элементов матрицы A(10,15). (Создать три функции для нахождения этих значений) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BrumbleHorse
 Аватар для BrumbleHorse
120 / 120 / 11
Регистрация: 18.09.2010
Сообщений: 212
30.12.2010, 01:08     Определить количество различных значений матрицы #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
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void element_swap(int* first, int* second)
{/*Функция меняет местами два элемента массива*/
  int temp=*first;
  *first=*second;
  *second=temp;
}
void array_sort(int** Arr, int n, int m)
{/*Функция сортирует матрицу в порядке возрастания*/
  int i, j, k, t;
   for(i=0; i<n; ++i)
    {
      for(j=0; j<m; ++j)
        {
         for(k=0; k<n; ++k)
           {
            for(t=0; t<m; ++t)
              {
                if(Arr[i][j]<Arr[k][t])
                    {
                      element_swap(&Arr[i][j], &Arr[k][t]);
                    }
              }
            }
        }
    }
}
void main()
{
        int i, j, a, n, m, target, cnt=1;
        printf("Enter number of strings:\n ");
        scanf("%d", &n);
        printf("Enter number of columns:\n ");
        scanf("%d", &m);
        int** Array;/*создание динамической матрицы*/
        Array=(int**)malloc(sizeof(int*)*n);
        for(i=0; i<n; ++i)
                Array[i]=(int*)malloc(sizeof(int)*m);
        for(i=0; i<n; ++i)
        {/*Ввод матрицы*/
                for(j=0; j<m; ++j)
                {
                        printf("Please enter %d x %d element:\n", i+1, j+1);
                        scanf("%d", &Array[i][j]);
                }
        }
        printf("Here is your array:\n");
        for(i=0,a=0; i<n; ++i)
        {/*Вывод матрицы на экран*/
                for(j=0; j<m; ++j)
                {
                        printf("%4d ", Array[i][j]);
                }
                printf("\n");
        }
        array_sort(Array,n,m);/*сортируем матрицу по возрастанию*/
        for(i=0,target=Array[0][0];i<n;++i)
        {/*встречая неповторяющийся элемент увеличиваем счетчик*/
            for(j=0;j<m;++j)
            {
                if(Array[i][j]!=target)
                {
                    target=Array[i][j];
                    ++cnt;
                }
            }
        }
        printf("Number of different elements in your array is: %d\n",cnt);/*вывод результата*/
        for( i=0; i<n; ++i)/*освобождение памяти*/
                free(Array[i]);
        free(Array);
        getch();
}
Yandex
Объявления
30.12.2010, 01:08     Определить количество различных значений матрицы
Ответ Создать тему
Опции темы

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