| решение задания по матрицам | 
|  | 
| 
| Moon_Rider | Дата: Понедельник, 20 Декабря 2010, 21:24 | Сообщение # 1 |  |   частый гость Сейчас нет на сайте | Ввести матрицу размером NxM. Память для массива выделить динами-
 чески. Выполнить в соответствии с номером варианта индивидуальное зада-
 ние и вывести на экран исходные данные и полученный результат.
 Найти в каждой строке матрицы максимальный элемент.
  Как это сделать? Что то пробовал делать - не могу... |  |  |  |  | 
| 
| BOOM | Дата: Понедельник, 20 Декабря 2010, 21:30 | Сообщение # 2 |  |   I am the creator of ADE Сейчас нет на сайте | Quote (Moon_Rider) Память для массива выделить динами- чески.
 Code  vector< vector<int> > __matrix;
 
  Quote (Moon_Rider) Найти в каждой строке матрицы максимальный элемент.Используй пузырьковый метод.
  По матрицам вот тебе материальчик, может поможет. 
 ______________________________
 Я вернулся, и это чудо.
 ______________________________
 |  |  |  |  | 
| 
| Lorderon | Дата: Понедельник, 20 Декабря 2010, 21:36 | Сообщение # 3 |  | старожил Сейчас нет на сайте | Quote (BOOM) Используй пузырьковый метод.То есть если правое число больше левого, оно смещается вправо, и так до тех пор, пока не будут обработаны все ячейки.
 У тебя С? С++? С#?
 |  |  |  |  | 
| 
| BOOM | Дата: Понедельник, 20 Декабря 2010, 21:40 | Сообщение # 4 |  |   I am the creator of ADE Сейчас нет на сайте | Borland С++. 
 Quote (Lorderon) То есть, если правое число больше левого, оно смещается вправо, и так до тех пор, пока не будут обработаны все ячейки.Ну, да. Этот метод не супер быстрый, но самый простой.
 
 ______________________________
 Я вернулся, и это чудо.
 ______________________________
 |  |  |  |  | 
| 
| Moon_Rider | Дата: Понедельник, 20 Декабря 2010, 21:54 | Сообщение # 5 |  |   частый гость Сейчас нет на сайте | Visual C++ надо. Как бы там сделать? |  |  |  |  | 
| 
| Vinchensoo | Дата: Вторник, 21 Декабря 2010, 07:14 | Сообщение # 6 |  |   Злобный социопат с комплексом Бога Сейчас нет на сайте | Quote (Lorderon) То есть если правое число больше левого, оно смещается вправо, и так до тех пор, пока не будут обработаны все ячейки. У тебя С? С++? С#?Мы, кстати, ради интереса смотрели 1 опыт.
 Суперкомпьютер пузырковым методом обрабатывает бд в течении 13 дней.
 Обычный домашний компьютер с эффективным алгоритмом поиска обрабатывает эту же бд за 7 минут.
 Вдумайся)
 Пузырек лучше не исп. для серьезных программ(в бд подразумевалось начилие 1 000 000 записей)
 
 
   |  |  |  |  | 
| 
| Serg1971 | Дата: Вторник, 21 Декабря 2010, 10:06 | Сообщение # 7 |  |   Весёлый программист Сейчас нет на сайте | Lorderon, BOOM, Vinchensoo,  Человек видимо - домашку по программированию сделать не может! Вот блин, программисты пошли!  И вы ему - неправильно советуете! Пузырьковый метод - используется для упорядочивания (сортировки) значений по возрастанию-убыванию. А у него - всё должно остаться на своих местах. Используется метод мини-макса. Берётся первое значение, сохраняется... Берётся следущее, если больше сохранённого - сохраняется это, если нет - идём дальше и берём следующее значение... Причём, это может проделываться для всех строк матрицы, с элементами с индексом М - одновременно! То есть всё можно сделать за один проход!   ЗЫ. Надеюсь разжёванное ТС в состоянии положить на код, а иначе - мда...
   
 
   |  |  |  |  | 
| 
| Vinchensoo | Дата: Вторник, 21 Декабря 2010, 12:36 | Сообщение # 8 |  |   Злобный социопат с комплексом Бога Сейчас нет на сайте | Quote (Serg1971) Lorderon, BOOM, Vinchensoo, Человек видимо - домашку по программированию сделать не может! Вот блин, программисты пошли! И вы ему - неправильно советуете! Пузырьковый метод - используется для упорядочивания (сортировки) значений по возрастанию-убыванию. А у него - всё должно остаться на своих местах. Используется метод мини-макса. Берётся первое значение, сохраняется... Берётся следущее, если больше сохранённого - сохраняется это, если нет - идём дальше и берём следующее значение... Причём, это может проделываться для всех строк матрицы, с элементами с индексом М - одновременно! То есть всё можно сделать за один проход! Во-первых, я ему не советовал использовать пузырек.
 Quote (Vinchensoo) Пузырек лучше не исп. для серьезных программ(в бд подразумевалось начилие 1 000 000 записей)Во-вторых, перебор двумерного массива- тот же пузырь, только без перестановки элементов.
 Имхо, если ТС этого не понял, то сам код он не напишет.
 
 Quote (Serg1971) Причём, это может проделываться для всех строк матрицы, с элементами с индексом М - одновременно! То есть всё можно сделать за один проход! Неясная мне шняга. Элементы могут и не стоять в одном стобле, нужно их сравнивать со всеми.
 Serg1971, возможно есть 2 формулировки пузыря. Потому что я как-то спорил со своим преподавателем по этому поводу.
 Мб есть расширенный и упрощенный алгоритм. Суть та же, в любом случае.
 
 Quote (Serg1971) идём дальше и берём следующее значение...Нужно номер строки сохранять, а не сам элемент.
 Как на сях выделять динам. память- не знаю.
 Могу дать код самого перебора, если нужно. Но он легко пишется.
 
 
   |  |  |  |  | 
| 
| Serg1971 | Дата: Вторник, 21 Декабря 2010, 13:29 | Сообщение # 9 |  |   Весёлый программист Сейчас нет на сайте | Vinchensoo, да согласен - одноразовый проход методом пузырька даст максимальное число! Но принцип при пузырьковой сортировке: 
 Quote (Lorderon) То есть если правое число больше левого, оно смещается вправо, и так до тех пор, пока не будут обработаны все ячейки.т.е. перемещение максимального числа в конец массива... А ТС нужно:
 
 Quote (Moon_Rider) Найти в каждой строке матрицы максимальный элемент.Я предлагаю следующий метод, немного подробнее поясню...
 Массив А (M,N) - М строк, N- столбцов... Создаём дополнительный одномерный массив В(М) с количеством элементов, равным - количеству строк т.е. М. В этом массиве - будет храниться самое большое число в каждой данной строке.
 Берём первое число в каждой строке - запоминаем его в массиве В. Берём второе число в каждой строке, сравниваем его с соответствующим числом в массиве В - если больше сохраняем в массиве и т.д! После перебора всех столбцов N - у нас в массиве В - будут максимальные числа в каждой строке! Индекс элемента массива В - равен номеру строки М
 
 
   |  |  |  |  | 
| 
| Vinchensoo | Дата: Вторник, 21 Декабря 2010, 13:33 | Сообщение # 10 |  |   Злобный социопат с комплексом Бога Сейчас нет на сайте | Quote (Serg1971) Найти в каждой строке матрицы максимальный элемент.Cсори, прочитал "в какой". Думал номер строки.
 Тогда действительно нужно идти во всех строках сразу, в каждой выделяя максимум
 
 
   |  |  |  |  |