| 
				
				решение задания по матрицам
				 | 
 | 
| 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сори, прочитал "в какой". Думал номер строки.   Тогда действительно нужно идти во всех строках сразу, в каждой выделяя максимум
 
  
 |  
| 
 | 
 |    |