Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
1

Нужен алгоритм решения задачи

25.02.2018, 16:44. Просмотров 602. Ответов 28
Метки нет (Все метки)

Дана квадратная матрица n x n заполнена случайными целыми числами.
Надо найти:
1. наименьшие числа четными индексами отмеченных столбиков;
2. номеров их строчек;
3. наибольший элемент из найденных наименьших.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2018, 16:44
Ответы с готовыми решениями:

Алгоритм решения задачи
Всем привет! есть задача : Растет Роща реликтовых деревьев.Для их защиты...

Написать на псевдокоде алгоритм решения задачи
Напишите алгоритм, проверяющий, делится ли заданное натуральное число на 5....

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

Написать на псевдокоде алгоритм решения задачи
Банк предлагает 3 вида срочных вкладов: на 3 месяца под p%, на 6 месяцев под q%...

Написать на псевдокоде алгоритм решения задачи
Заданы три стороны треугольника a, b, c. Определить, является ли этот...

28
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
25.02.2018, 19:42 2
Кто и как отметил столбики?
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
26.02.2018, 09:51  [ТС] 3
По моему, просто номерами. Только для ясности, по математически можно дописать i - при индексов строчек, а j - при столбиков.
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
26.02.2018, 14:33 4
По Вашему описанию мне непонятно, что должна делать функция. Что подаётся на вход и что должно быть на выходе? Желательно с конкретным примером.
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
26.02.2018, 20:34  [ТС] 5
На входе: n - число строчек и столбиков. Если n=3, то в матрице будет 9 элементов.
На выходе три числа: 1) наименьшее число из каждого, четным индексом названого, столбика (если столбик 2, то из чисел 5, 9, 6 берем именно 5) ; 2) номер строчки каждого найденного наименьшего числа (если номер 5 в 2 столбике, определим строчку, примерно 1); 3) наибольшее число из найденных наименьших (если в 2 наименьший 5, в 4 н.п. 1, в 6 - 8, то из них наибольший будет 8).
Понимаю чо все это на самом деле немножко запутано, сам пока разобрался)) Сейчас может быть хоть чуть чуть яснее.
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
26.02.2018, 21:32 6
Не надо решение. Просто напишите вход и вывод. С примером.

Цитата Сообщение от DellXT Посмотреть сообщение
На входе: n - число строчек и столбиков. Если n=3, то в матрице будет 9 элементов.
На входе явно не одно число. Наверное, матрица и вектор ("индексы отмеченных столбиков")?
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
26.02.2018, 21:57  [ТС] 7
Да одно же. Если матрица квадратная, то число столбиков равно числу строчек (n=n).
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
27.02.2018, 00:04 8
Цитата Сообщение от DellXT Посмотреть сообщение
Да одно же.
Либо на вход одно число, либо матрица - не одно и то же. Или Вы пишите "На входе: n - число строчек и столбиков", а я должен протелепатировать, что к числу прилагается матрица?
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
05.03.2018, 20:11  [ТС] 9
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
#include <iostream>
#include <ctime> 
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    int n = 0;
    cout << "Enter n";
    cin >> n;
    int **a = new int* [n]; 
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; 
    }
   
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 20-10;
            cout << a[i][j] << " "; 
        }
        cout << endl; 
    }
 
    for (int i = 0; i < n; i++)
    {
        delete[]a[i]; 
    }
    delete [] a; 
    return 0;
}
Так вот, код матрицы. Попробуйте. Возможно у вас есть идеи как сделать следующие операции?
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
05.03.2018, 21:48 10
Цитата Сообщение от DellXT Посмотреть сообщение
Так вот, код матрицы.
Мне не нужен код матрицы. Мне нужно знать, что на входе и что на выходе.
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
05.03.2018, 23:16  [ТС] 11
Цитата Сообщение от Shamil1 Посмотреть сообщение
что на входе и что на выходе.
Не знаю, будет ли Вам полезны эти переменные:
вход: n - одно число так как, примерно, если i=5, и j=5, мы же можем сказать, что i=j=n?
выход: a) min
b) [j]
c) max
0
wingblack
280 / 254 / 45
Регистрация: 09.04.2013
Сообщений: 953
06.03.2018, 08:10 12
Поправьте если я не так понял
В матрице NxN требуется:
1) во каждому отмеченному столбцу среди четных строк вывести на экран минимальный элемент
2) вывести на экран номер строки такого элемента
3) вывести на экран максимальное из таких минимальных элементов
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
06.03.2018, 09:15 13
Цитата Сообщение от DellXT Посмотреть сообщение
вход: n - одно число
Как я узнаю индексы отмеченных столбиков?
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
06.03.2018, 12:50  [ТС] 14
Цитата Сообщение от wingblack Посмотреть сообщение
во каждому отмеченному столбцу среди четных строк вывести на экран минимальный элемент
Наоборот - минимальный элемент из каждого парного столбца.
Я попробовал написать этот этап кодом, то результат примерно такой (см. на фото): матрица 6х6, четные столбики -2,4,6, а под красной линии - найденные наименьшие элементы соответственно из 2,4 и 6 столбцов.
Дальше как Вы и говорили, найти координату 'j' каждого наименьшего числа и максимальное число из всех найденных наименьших.
0
Миниатюры
Нужен алгоритм решения задачи  
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
06.03.2018, 12:53  [ТС] 15
Shamil1, матрица в массиве. Индексы соответственно A[i][j]. Если мы ищем четных столбцов, то [i] должно делиться из двух без остатка (т.е. тоже быть четным).
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
06.03.2018, 13:53 16
DellXT,
То есть, Ваша фраза "четными индексами отмеченных столбиков" означает "столбцы с чётными индексами"? Сам бы я никогда бы не догадался, а телепаты в отпуске.

Добавлено через 4 минуты
Со входом разобрались.
Теперь с выводом:
Цитата Сообщение от DellXT Посмотреть сообщение
На выходе три числа: 1) наименьшее число из каждого, четным индексом названого, столбика (если столбик 2, то из чисел 5, 9, 6 берем именно 5) ; 2) номер строчки каждого найденного наименьшего числа (если номер 5 в 2 столбике, определим строчку, примерно 1); 3) наибольшее число из найденных наименьших (если в 2 наименьший 5, в 4 н.п. 1, в 6 - 8, то из них наибольший будет 8).
"три числа" видимо следует понимать как "два списка и число"
"четным индексом названого, столбика" - "столбика с чётным индексом"

Добавлено через 7 минут
Цитата Сообщение от DellXT Посмотреть сообщение
заполнена случайными целыми числами
В каком диапазоне?
Должны ли все числа быть разными?
Если нет, то что делать, если в столбце несколько одинаковых чисел?
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
06.03.2018, 14:27  [ТС] 17
Цитата Сообщение от Shamil1 Посмотреть сообщение
два списка и число
Верно;
Цитата Сообщение от Shamil1 Посмотреть сообщение
столбцы с чётными индексами
Тоже верно.
Диапазон не обозначен, числа просто должны быть целыми.
Цитата Сообщение от Shamil1 Посмотреть сообщение
что делать, если в столбце несколько одинаковых чисел
По моему вывести одно из них (говоря о min).
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
06.03.2018, 14:34 18
Цитата Сообщение от DellXT Посмотреть сообщение
По моему вывести одно из них (говоря о min).
Требуется вычислить индекс минимального элемента. Если несколько одинаковых, то любого из них?


Столбцы и строки нумеруются с 1 или с 0?

Добавлено через 52 секунды
Цитата Сообщение от DellXT Посмотреть сообщение
Диапазон не обозначен, числа просто должны быть целыми.
То есть, (если к диапазону никаких требований) можно взять диапазон от 1 до 1? Все числа будут одинаковые.
0
DellXT
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 84
06.03.2018, 14:39  [ТС] 19
Цитата Сообщение от Shamil1 Посмотреть сообщение
любого из них
Думаю, да.
Цитата Сообщение от Shamil1 Посмотреть сообщение
с 1 или с 0
В коде, массив нумеруются от 0, но в конечном варианте, проще будет нумеровать от 1.
Цитата Сообщение от Shamil1 Посмотреть сообщение
от 1 до 1
Ну, так будет как и не логично. Лучше подобрать какой нибудь интервал, примерно [-20;20].
0
Shamil1
Модератор
2234 / 1522 / 346
Регистрация: 26.03.2015
Сообщений: 5,409
06.03.2018, 14:49 20
Цитата Сообщение от DellXT Посмотреть сообщение
В коде, массив нумеруются от 0, но в конечном варианте, проще будет нумеровать от 1.
Тут дело не в том, как проще. От этого зависит, какие столбцы окажутся чётными и какие номера строк печатать (пункт 2).

Добавлено через 3 минуты
И ещё один вопрос:
Есть ли какие-нибудь требования, как хранить матрицу? Наиболее эффективно её хранить в виде списка элементов.
0
06.03.2018, 14:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2018, 14:49

Написать на псевдокоде алгоритм решения задачи
Заданы два натуральных числа. Определить, являются ли среднее арифметическое...

алгоритм для решения задачи с рукопожатиями
Здравствуйте! Столкнулся с задачей где нужно вычислить число уникальных...

Напишите в словесной форме алгоритм решения следующей задачи:
Напишите в словесной форме алгоритм решения следующей задачи: Составить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru