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

Матрицы. Определить количество различных значений

15.01.2013, 21:27. Показов 8366. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана задача по СИ++

Задана матрица размером NхM. Определить количество различных
значений матрицы, т.е. повторяющиеся элементы считать один раз.



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
int main()
{
        double **a, s, rez;
        int i, j, n, m, k, g;
        printf("N = ");
        scanf("%d",&n);
        printf("M = ");
        scanf("%d",&m);
        a = new double*[m];
        for(i=0; i<n;i++)
                a[i] = new double[m];
    puts("\nA:");
        for(i=0; i<n;i++)
                for(j=0; j<m;j++) scanf("%lf", &a[i][j]);
        rez = 0;
        for (i=0;i<n;i++)
                for (j = 0;j<m;j++)
                {
                if (a[i][j]!=1000000)
                {
                rez++;
                for (k = 0;k < n;k++)
                        for(g = 0;g < m;g++)
                                if ((a[k][g]==a[i][j])&&(k!=i||g!=j))
                                        a[k][g]=1000000;
                a[i][j] = 1000000;
                }
                }
        printf("REZ = %4.0lf",rez);
        delete []a;
        puts("\n delete !");
        getch();
 
        return 0;
}
//---------------------------------------------------------------------------

вот её код реализован - верно.
Можете помочь подписать его?( и понять что там делается
к примеру : scanf("%d",&n); - ввод с клавиатуры ("n") . Разобрать условие( Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2013, 21:27
Ответы с готовыми решениями:

Определить количество различных значений матрицы
Помогите пожалуйсто с задачкой написать программу по обработке динамических массивов, размеры массивов водить с клавиатуры. Задана...

Определить количество различных элементов матрицы
Помогите ,пожалуйста ,реализовать программу на языке Си . Определить количество различных элементов матрицы С (повторяющиеся элементы...

Определить количество различных элементов матрицы
Задана символьная матрица размером NxM. Определить количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз)....

15
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
15.01.2013, 21:32 2
Отформатируйте код. Кнопка C++
1
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 7
15.01.2013, 21:36  [ТС] 3
я не знаю , как это сделать((
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
15.01.2013, 21:40 4
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
int main()
 {
 double **a, s, rez;
 int i, j, n, m, k, g;
 printf("N = ");
 scanf("%d",&n);
 printf("M = ");
 scanf("%d",&m);
 a = new double*[m];
 for(i=0; i<n;i++)
 a[i] = new double[m];
 puts("\nA:");
 for(i=0; i<n;i++)
 for(j=0; j<m;j++) scanf("%lf", &a[i][j]);
 rez = 0;
 for (i=0;i<n;i++)
 for (j = 0;j<m;j++)
 {
 if (a[i][j]!=1000000)
 {
 rez++;
 for (k = 0;k < n;k++)
 for(g = 0;g < m;g++)
 if ((a[k][g]==a[i][j])&&(k!=i||g!=j))
 a[k][g]=1000000;
 a[i][j] = 1000000;
 }
 }
 printf("REZ = %4.0lf",rez);
 delete []a;
 puts("\n delete !");
 getch();
 
 return 0;
 }
 //---------------------------------------------------------------------------
2
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 7
15.01.2013, 21:41  [ТС] 5
спасибо)) Теперь , если кто может помогите пжл. подписать его(
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
15.01.2013, 21:41 6
Цитата Сообщение от Lenex Посмотреть сообщение
я не знаю , как это сделать((
на будущее в сообщениях нажимаешь С++ и между этими блоками вставляешь свой код
1
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 7
15.01.2013, 21:55  [ТС] 7
Кто знает, помогите растолковать условие,плз
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
15.01.2013, 21:58 8
прокоментировать каждую строку чтоли?
0
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
15.01.2013, 21:58 9
Сейчас напишу комментарий
0
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 7
15.01.2013, 22:16  [ТС] 10
Ну до заполнения массива числами я понимаю)) но вот условие совсем не понимаю, что они по действиям делают, чтобы в результате выдавала число разных чисел в массиве.

Добавлено через 16 минут
подпишите ?(
0
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
15.01.2013, 22:23 11
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rez = 0;
for (i=0; i<m; i++)         // цикл по строкам
    for (j = 0; j<n; j++)   // цикл по столбцам
    {
        if (a[i][j]!=1000000)   // если значение в a[i][j] не равно 1000000 то
            rez++;              // res увеличивает на 1
 
        // эти циклы повторно проходят всю матрицу
        for (k=0; k<m; k++)
            for(g=0; g<n; g++)
                if ((a[k][g]==a[i][j])&&(k!=i || g!=j))
                {
                    a[k][g]=1000000;
                }
    }
Пытаюсь разобраться и не могу

Добавлено через 29 секунд
Не пойму как она считает количество разных чисел в матрице
1
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 7
15.01.2013, 22:25  [ТС] 12
хех,спасибо, за помощь хоть какую) а может можно тогда по другому как-нибудь решить ее?(
0
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
15.01.2013, 22:28 13
Цитата Сообщение от Lenex Посмотреть сообщение
а может можно тогда по другому как-нибудь решить ее?(
А зачем? Я вот проверил ее у себя. И ведь правильно все считает.

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    double **a, s, rez;
    int i, j, n, m, k, g;
 
    printf("M = ");  cin >> m; //scanf("%d",&m);
    printf("N = ");  cin >> n; //scanf("%d",&n);
 
    // выделение памяти для двумерного массива
    a = new double*[m]; 
    for(i=0; i<m;i++)
        a[i] = new double[n];
 
    puts("\nA:");
 
    // заполнение массива
    for(i=0; i<m;i++)
        for(j=0; j<n; j++) 
            cin >> a[i][j];
            //scanf("%lf", &a[i][j]);
 
    rez = 0;
    for (i=0;i<m;i++)
        for (j = 0;j<n;j++)
        {
            if (a[i][j]!=1000000)
                rez++;
 
            for (k=0; k<m; k++)
                for(g=0; g<n; g++)
                    if ((a[k][g]==a[i][j])&&(k!=i || g!=j))
                    {
                        //rez++;
                        a[k][g]=1000000;
                    }
        }
 
 
    //printf("REZ = %4.0lf",rez);
    cout << "REZ = " << rez << endl;
 
    for (int i=0; i<m; i++)
        delete [] a[i];
    delete [] a;
 
    puts("\n delete !");
 
    getch();
 
    system("pause");
    return 0;
}


Некоторые ошибки исправил и немного изменил
2
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 7
15.01.2013, 22:30  [ТС] 14
спасибо,большое) что уделил время)
0
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
15.01.2013, 22:32 15
Да не за что) Может кто другой решит
0
15.01.2013, 22:39 16

Не по теме:

Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Не пойму как она считает количество разных чисел в матрице
Он повторяющиеся элементы заменяет числом 1000000 и считает количество чисел отличных от 1000000.
Ты заполни матрицу этим только этим числом(1000000 ) (полностью) и увидишь что он высчитает не правильно.

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2013, 22:39
Помогаю со студенческими работами здесь

Определить количество различных элементов матрицы
Дана целая квадратная матрица порядка N. Определить количество различных элементов матрицы (то есть повторяющиеся элементы считать один...

Определить количество различных элементов матрицы
помогите пожалуйста ребята! Задана символьная матрица размером N×M, N,M&lt;50. Определить k - количество различных элементов матрицы (т.е....

Определить количество различных элементов матрицы
Ну пожалуйста Помогите ребята!Динамический массив. Задана символьная матрица размером N×M, N,M&lt;50. Определить k - количество...

Определить количество различных элементов матрицы
//Помогите разобраться в &quot;рабочей&quot; программе.(комментариями!!) //Условие задачи:Задана символьная матрица размером NxM. Определить...

Определить количество различных элементов матрицы
помогите ребята! Задана символьная матрица размером N×M, N,M&lt;50. Определить k - количество различных элементов матрицы (т.е....


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
Node.js 20: Новые возможности и улучшения производительно­сти
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер