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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2013, 07:01   #1
CppForYou
Пользователь
 
Регистрация: 08.03.2013
Сообщений: 37
По умолчанию массивы

с++: Найти наибольший и наименьший элемент в матpице А(4,3) и пеpеставить их местами.
CppForYou вне форума Ответить с цитированием
Старый 10.11.2013, 10:34   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

В чем затруднение?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.11.2013, 10:49   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CppForYou
Покажи как вводишь матрицу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2013, 01:35   #4
CppForYou
Пользователь
 
Регистрация: 08.03.2013
Сообщений: 37
По умолчанию массивы

нашел max и min элементы матрицы ))) теперь эти элементы осталось их только переставить местами
Код:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
	setlocale(LC_ALL, "rus");
	srand(time(NULL));
	const int k=3, l=4;
	int arr[k][l], max, min;
	for(int i=0; i<k; i++) {
		for(int j=0; j<l; j++) {
			cout << "Vvedite element a[" << i << "][" << j << "] ";
			cin >> arr[i][j];
		}
	}
	cout << "\nИсходная матрица\n";
	for(int i=0; i<k; i++) {
		for(int j=0; j<l; j++) {
			cout << arr[i][j] << " ";
		}
		cout << endl;
	}
	max = arr[0][0];
	min = arr[0][0];
	for(int i=0; i<k; i++) {
		for(int j=0; j<k; j++) {
			if(max < arr[i][j]) 
			{
				max = arr[i][j];
				cout << "\nМаксимальный элемент " << max << endl;
			}
		}
	}
	for(int i=0; i<k; i++) {
		for(int j=0; j<l; j++) {
			if(min > arr[i][j]) 
			{
					min = arr[i][j];
					cout << "\nМинимальный элемент " << min << endl;
			}
		}
	}
	system("pause");
	return 0;
}
CppForYou вне форума Ответить с цитированием
Старый 11.11.2013, 01:44   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Гораздо удобнее искать не сами элементы, а их индексы (по крайней мере, в данной задаче).
Код:
int imax = 0, jmax = 0, imin = 0, jmin = 0;
...
if(arr[imax][jmax] < arr[i][j]) {
    imax = i;
    jmax = j;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 11.11.2013, 05:34   #6
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

зная идексы мин и макс эл-та.
Код:
tmp=A(imin,jmin)
A(imin,jmin)=A(imax,jmax)
A(imax,jmax)=tmp
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
указатели на массивы и массивы указателей blacktener Общие вопросы C/C++ 16 13.06.2011 20:45
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12