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

Поиск в матрице, задача - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конкатенация строк в объектах http://www.cyberforum.ru/cpp-beginners/thread1070615.html
Программа завершает свою работу в тот момент, когда выполняет нижеприведенный фрагмент кода. Вывода на экран не происходит. Вкратце условия задачи: Класс String состоит из указателя на строку char*str в private и нескольких функций в public, но вопрос мой касается лишь одной из них. Определение функции: String String::operator+(const String&v) { char*temp=new char; // создаем временный...
C++ Приложение не компилируется из-за ошибки В общем, я несколько раз забрасывал самоучение с++ из за кое какой ошибки. #include <iostream.h> namespace std; int main(); { cout << "Я добьюсь больших успехов в программировании!"; return 0; } Это - мой код. http://www.cyberforum.ru/cpp-beginners/thread1070607.html
C++ "Правильное" программирование
Доброго времени суток. Я понимаю, что вопрос подымался скорее всего не однократно, но борьба с поиском окончилась неудачей. И всё же, как правильно оформлять структуру программы? То есть что бы не было необходимости при добавлении нового функционала не было необходимости переписывать весь код.
C++ Указатели и очистка памяти
Возник интересный вопрос... class Test { int a; }; class Test1 : public Test { int b, c; }; int main() { Test1 *t = new Test1; Test *t1 = t; delete t; }
C++ Структурами и указатели http://www.cyberforum.ru/cpp-beginners/thread1070593.html
С текстового файла считать последовательность записей, содержащих данные о результатах сессии студентов группы в следующем формате: <Фамилия>, <Имя>, <Дата рождения>, <Список экзаменационных оценок>. Распечатать введенные данные в виде таблицы, а также предоставить информацию согласно варианта. Отсортировать по названию в алфавитном порядке данные о книгах, стоимость которых больше средней в...
C++ Не компилируется задача из Лафоре Помогите пожалуйста разбораться почему компилятор ругается: 1>L.obj : error LNK2019: unresolved external symbol "void __cdecl draw_circle(int,int,int)" (?draw_circle@@YAXHHH@Z) referenced in function "void __cdecl circ_draw(struct circle)" (?circ_draw@@YAXUcircle@@@Z) ..... 1>C:\Users\Администратор\Documents\Visual Studio 2010\Projects\LLLL\Debug\LLLL.exe : fatal error LNK1120: 5 unresolved... подробнее

Показать сообщение отдельно
__General__
24 / 24 / 3
Регистрация: 04.01.2014
Сообщений: 91
Завершенные тесты: 2
13.01.2014, 23:09     Поиск в матрице, задача
LeShChEnKo, а в задаче не было никаких ограничений на значения, которые могут принимать элементы матрицы?

1)Если были существенные ограничения, допустим, известно, что элементы матрицы не отрицательны и не превышают 1000, то можно было бы объявить массив Count[1000] - массив счетчиков. Далее во вложенном цикле просмотрим все элементы матрицы, и заполним наш массив:
Count[i] - сколько раз в матрице встретилось число i.
Остается найти максимум в массиве Count, и если он не меньше двух, то вывести его индекс, а если меньше - сказать, что такого элемента нет.

2)(универсальный способ)
Если же ограничений на элементы матрицы не было, то есть если элементом матрицы может быть любое число, которое помещается в int, то объявлять массив счетчиков - слишком расточительно с точки зрения использования памяти (массив в 4 млрд целых чисел весит около 16 гигабайт, если я не просчитался).
В этом случае можно, например, написать свою структуру:
C++
1
2
3
4
5
struct element
{
    int value;
    int num_in_matrix;
};
В первом элементе структуры хранится само число - элемент матрицы, во втором - сколько раз он в ней встречается.
Далее можно объявить массив-вектор-список (что хотите) структур element (аналог массива счетчиков), и за один проход по матрице заполнить его. Дальше находим элемент массива, у которого достигает максимального значения поле num_in_matrix, и выводим значения его поля value, либо говорим, что такого элемента нет.
 
Текущее время: 20:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru