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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ free и метки http://www.cyberforum.ru/cpp-beginners/thread222533.html
Здравствуйте, господа. Никак не могу найти ответы на след. вопросы: 1). Для того, чтобы освободить выделенную ранее память, необходимо использовать, например, функцию free. Однако в таком...
C++ Начинающий си/си++ программист Я вот собираюсь начать учить язык си а впоследствии си++. У меня есть книга Б.Керниган, Д.Ритчи "Язык программирования си". Мне нравится как там написано, да и отзывы об этом учебнике неплохие. У... http://www.cyberforum.ru/cpp-beginners/thread222524.html
Обход матрицы C++
Нужно составить программу ввода квадратной матрицы и печати в строку всех ее элементов в данном порядке обхода: 7 13 14 16 6 8 12 15 2 5 9 11 1 3 4 10 никак не могу додуматься до...
C++ Классы
Только недавно начал разбираться с классами. Тут же появилась проблема с заданием. Реализовать класс TClass1, содержащий в качестве одного из полей, указатель на динамический массив, память под...
C++ Определить функцию, проверяющую, является ли целое число совершенным http://www.cyberforum.ru/cpp-beginners/thread222513.html
помогите плиииз!!!! Определить функцию, проверяющую, является ли целое число совершенным. Совершенное число равно сумме всех своих делителей, включая единицу и не включая себя. Например 6=1+2+3 –...
C++ Cвляется ли целое число совершенным (Функция) Определить функцию, проверяющую, является ли целое число совершенным. Совершенное число равно сумме всех своих делителей, включая единицу и не включая себя. Например 6=1+2+3 – совершенное число,... подробнее

Показать сообщение отдельно
BrumbleHorse
121 / 121 / 11
Регистрация: 18.09.2010
Сообщений: 212
30.12.2010, 01:08
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();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru