Flashick | ||||||||
Эх..практика по проге у меня...жуть.... Помогите пжалста...я совсем запутался... Даны: целочисленные матрица R [ 0:n-1;0:m-1 ] и массив A [ 0:k-1 ]. В каждом столбце матрицы R переставить местами максимальный и минимальный элементы, если они оба присутствуют в массиве A. Язык - Си. Задачка несложная...но ее нужно сделать на указателях и на функциях.. |
||||||||
tetro | ||||||||
Матрица естественно хранится как двух-мерный массив и внутрений индех вы считаете столбцом или строкой? Вас устроит тривиальный вариант: Считаем внутренний индекс столбцом? И 2 прохода по нему R плюс 2 прохода по А на строку? Пишем функции (если на честном С то надо убрать сонст и вынести об'явы наверх):
Аналогично
Далее пишем
Это можно было и эффективнее реализовать вначале сортирнув А а потом за лог искать это даст м*н*лог к а не м*н*к А далее клеим все вместе. P.S. Я тут на double написал, а надо int. Да и равно на double не слишком хорошо смотрится (хотя здесь можно). Но 2 часа ночи - я спать пошел.... Это сообщение отредактировал tetro - 25-12-2006 - 03:27 |