Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
2 / 2 / 0
Регистрация: 05.07.2014
Сообщений: 30

Функции для обработки матриц

13.01.2015, 15:56. Показов 4231. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
// Подключаем библиотеки //
#include "stdafx.h"
#include "iostream"
#include "cmath"
 
using namespace std;
 
// Двумерный массив под названием "mas" //
int mas[5][6] = {};
int a = 0;
// Наша первая функция //
void function1()
{
    for (int q = 0;  q < 5; q++)
    {
        int z = 0;
        for (int i = 0; i < 6; i++)
        {
            if (mas[q][i] == 0)
                z++;
        }
    }
}
// Наша вторая функция //
int function2(int k, int min, int a)
{
    
    for (int i = 0; i < 5; i++)
    {
        for (int q = 1; q < 6; q++)
        {
            if (mas[i][q])
            {
                min = mas[i][q];
            }
        }
    }
// Находим строку с минимальным элементом и зануляем всю строку //
    while (a < 5)
    {
        for (int i = 0; i < 5; i++)
        {
            for (int q = 0; q < 6; q++)
            {
                if (min == mas[i][q])
                {
                    k = i;
                    for (int q = 0; q < 6; q++)
                    {
                        mas[k][q] = 0;
                    }
                }
            }
        }
        a++;
    }
    return a;
 
}
int _tmain(int argc, _TCHAR argv[])
{
// Подключаем русский язык //
    setlocale(LC_ALL, "Russian");
    cout << "\t\t\t *** Введите двумерный массив ***\n\n";
    int k = 0;
    for (int i = 0; i < 5; i++)
    {
        for (int q = 0; q < 6; q++)
        {
// Вводим массив с клавиатуры //
            cin >> mas[i][q];
        }
    }
    cout << "\t\t\t\t Полученная матрица:\n\n";
    for (int i = 0; i < 5; i++)
    {
        cout << "t";
        for (int q = 0; q < 6; q++)
        {
            cout << mas[i][q];
            cout << "t";
        }
    }
// Предоставляем пользователю выбрать один из операций, с которой наша программа будет работать дальше //
    cout << "\n\n\t Выбирете одну операцию, с которой Вы будете работать далее:\n" <<endl;
    cout << "1 - Определить количество нулевых чисел в каждой строке матрицы\n";
    cout << "2 - Преобразовать массив, найти минимальный элемент матрицы и заменить на нули\n\n";
    int p = 0;
    cin >> p;
// Если пользователь выбирает (1) - то выполняется наша первая функция //
    if (p == 1)
    {
        function1();
    }
// Если пользователь выбирает (2) - то выполняется данная функция //
    else
    {
        int min = mas[0][0];
        function2(k, min, a);
        for (int i = 0; i < 5; i++)
        {
            cout << "t";
            for (int q = 0; q < 6; q++)
            {
                cout << mas[i][q];
                cout << "t";
            }
        }
    }
    system("pause");
    return 0;
}
Добавлено через 29 секунд
Не хочет работать программа, что не так я делаю?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2015, 15:56
Ответы с готовыми решениями:

Шаблонные функции для обработки матриц
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; template &lt;class T&gt; void FillMatrix(T**&amp;, size_t, size_t); ...

Функции для обработки матриц: объявить и заполнить двумерный динамический массив случайными числами в заданном диапазоне
Как переделать этот код так , чтоб он соответствовал этому заданию: /*Объявить и заполнить двумерный динамический массив случайными ...

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...

25
2 / 2 / 0
Регистрация: 05.07.2014
Сообщений: 30
13.01.2015, 18:06  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KOPOJI Посмотреть сообщение
и..? Вы думаете, все бросились писать код на эту портянку задания?))
Напоминаю, по правилам форума, один вопрос - одна тема. А здесь явно не один вопрос.. Разбейте это на несколько тем, если не получается самостоятельно - а потом соберете все "до кучи".
Нет, вы меня не правильно поняли, точнее я ошибся...
Всем студентам дали всего по 1му варианту, мой вариант 9ый:

Условие: Преобразовать массив: элементы строки, в которой находится минимальный элемент матрицы, заменить на нули
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.01.2015, 18:07
Цитата Сообщение от Mc_MajesteR Посмотреть сообщение
элементы строки, в которой находится минимальный элемент матрицы, заменить на нули
элементы строки или же элементы строк ? Судя по заданию, надо преобразовывать только одну строку. Правда, неясно, что делать в случае с несколькими строками с минимальным элементом.
0
2 / 2 / 0
Регистрация: 05.07.2014
Сообщений: 30
13.01.2015, 18:16  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Mc_MajesteR, и..? Вы думаете, все бросились писать код на эту портянку задания?))
Напоминаю, по правилам форума, один вопрос - одна тема. А здесь явно не один вопрос.. Разбейте это на несколько тем, если не получается самостоятельно - а потом соберете все "до кучи".
Нет, я ошибся.
Мне нужно решить всего лишь 1вариант, а мой вариант это 9ый.

Условие: Преобразовать массив: элементы строки, в которой находится минимальный элемент матрицы, заменить на нули

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
элементы строки или же элементы строк ? Судя по заданию, надо преобразовывать только одну строку. Правда, неясно, что делать в случае с несколькими строками с минимальным элементом.
Да, нужно преобразовать только одну строку
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.01.2015, 18:58
А как быть с этим?
Цитата Сообщение от KOPOJI Посмотреть сообщение
Правда, неясно, что делать в случае с несколькими строками с минимальным элементом
0
2 / 2 / 0
Регистрация: 05.07.2014
Сообщений: 30
13.01.2015, 20:44  [ТС]
У вас в этом деле намного больше опыта чем у меня))
Давайте наверное их тоже занулим, если спросит преподаватель у меня почему занулил, я скажу что я не знал.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.01.2015, 20:51
Цитата Сообщение от Mc_MajesteR Посмотреть сообщение
У вас в этом деле намного больше опыта чем у меня
Вы ошибаетесь, особенно относительно C++
Цитата Сообщение от Mc_MajesteR Посмотреть сообщение
Давайте наверное их тоже занулим
В общем, смотрите сами.

С одной строкой

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int minRow = 0;
int min = mas[0][0];
for (int i = 0; i < 5; i++)
{
    for (int q = 0; q < 6; q++)
    {
        if (mas[i][q] > min)
        {
            min = mas[i][q];
            minRow = i;
        }
    }
}
это поиск минимума, обнуление:
C++
1
2
for(int j = 0; j < 6; ++j)
    mas[minRow][j] = 0;
Все строки

C++
1
2
3
4
5
int min = mas[0][0];
for (int i = 0; i < 5; i++)
    for (int q = 0; q < 6; q++)
        if (mas[i][q] > min)
            min = mas[i][q];
Это поиск минимума, обнуление:
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i < 5; ++i)
{
    for (int q = 0; q < 6; ++q)
    {
        if (min == mas[i][q])
        {
            for (q = 0; q < 6; ++q)
                mas[i][q] = 0;
            break;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2015, 20:51

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

Умножение треугольных матриц«Методы обработки разреженных матриц»
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ к элементам свёрнутой матрицы...

Написать шаблонную функцию, для обработки матриц любого типа
Написать ф-цию по матрицам,превратить в шаблон с тем,чтобы ф-ция обрабатывала матрицу любого типа.

Функции для обработки массивов
Разработать программу на С++ используя функции форматированного ввода-вывода языка Си . Исходные данные программы должны находится в...

Функции для обработки массивов
Добрый день! Помогите пожалуйста с программой. Есть две функции. В первой функции считывается массив из файла. Затем этот массив...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru