Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2011, 00:22   #1
ride013
Пользователь
 
Регистрация: 18.04.2011
Сообщений: 11
По умолчанию Обработка матриц.В каждой строке матрицы найти первый минимальный и первый максимальный элементы и поменя

Помогите пожалуйста в матрицах не шарю(((

Visual Basic 6.0


Обработка матриц
Общее задание:


а). Создать матрицу, содержащую N - строк и M – столбцов (Значения N и M должны вводиться с клавиатуры, а сама матрица заполняться случайными числами (использовать функцию RND). Если по условию матрица квадратная, то считать, что N = M.
б). Обработать матрицу в соответствии с индивидуальным заданием.
в). Вывести на экран исходную матрицу и результат обработки с пояснительным текстом.

Задание:
В каждой строке матрицы найти первый минимальный и первый максимальный элементы и поменять их местами.

Смог написать как найти мин и макс, что дальше делать не пойму((

CLS
DIM a(10)
FOR i = 1 TO 10
a(i) = INT(RND * 70)
PRINT a(i)
NEXT i
m = a(1)
n = a(1)
FOR z = 1 TO 10
IF a(z) > m THEN m = a(z)
NEXT z
FOR j = 1 TO 10
IF a(j) < n THEN n = a(j)
NEXT j
PRINT "max", m
PRINT "min", n
END

Ввести матрицу наверное так

INPUT "Количество строк - ", N
INPUT "Количество столбцов - ", M

не пойму как поменять местами макс и мин((

Последний раз редактировалось ride013; 20.04.2011 в 00:46.
ride013 вне форума Ответить с цитированием
Старый 20.04.2011, 00:31   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А в чем сложность? Что такое матрица представляете? Элемент обычно ищется с помощью циклов (мб в VB есть какие-то особенности, не шарю в нем, но в общем ничего сложного).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.04.2011, 00:35   #3
ride013
Пользователь
 
Регистрация: 18.04.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А в чем сложность? Что такое матрица представляете? Элемент обычно ищется с помощью циклов (мб в VB есть какие-то особенности, не шарю в нем, но в общем ничего сложного).
в матрицах вообще не шарю((
ride013 вне форума Ответить с цитированием
Старый 20.04.2011, 00:41   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Смог написать как найти мин и макс, что дальше делать не пойму((
В циклах нахождения макс. и мин. можно добавить переменную, в которые записываются индексы найденных чисел (почему-то кажется, что это не лучший вариант, но вроде должно работать) и потом уже элементы с этими индексами поменять не сложно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 20.04.2011 в 00:49.
Alex11223 вне форума Ответить с цитированием
Старый 20.04.2011, 13:14   #5
Sonejka
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 10
По умолчанию

код на С++, не рациональный, но понятно что где происходит:

A[i][j] - матрица, n,m - размерность, max,min - максимальные и минимальные элементы, imax jmax imin jmin - соответственно координаты максимума и минимума

Код:
for (int i=0;i<n;i++){
                imax=i; imin=i;
                jmax=0; jmin=0;
                max=A[i][0]; min=A[i][0];
                for (int j=0;j<m;j++){
                        if (max<A[i][j]){   //ищем максимум, запоминаем позицию
                                max=A[i][j];
                                imax=i; jmax=j;
                        }
                        if (min>A[i][j]){//ищем минимум запоминаем позицию
                                min=A[i][j];
                                imin=i; jmin=j;
                        }
                }
                A[imax][jmax]=min;// меняем местами 
                A[imin][jmin]=max;
        }
Sonejka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти наименьшие элементы в каждой строке матрицы и номер максимального из них fort-_-minor Общие вопросы C/C++ 3 22.05.2013 15:44
Найти максимальный элемент в каждой строке Dudu C++ Builder 4 11.04.2011 21:52
Найти максимальный и минимальный элементы двумерного массиву.Вивесты результат Ivanito Фриланс 15 03.07.2010 20:23
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30
найти минимальный элемент в каждой строке матрицы и записать все минимальные элементы в отдельный массив W_P Помощь студентам 6 28.12.2007 00:24