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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 15:32   #1
Olesya777
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 25
Радость Массив

решите пожалуйста кто-нибудь !!!!!!!16. Задан массив А(n). Расположить его элементы в обратном порядке.
17. Дан массив А(n), состоящий из вещественных чисел. Определить, образуют
ли его элементы монотонно возрастающую или убывающую
последовательность.
18. В массиве чисел А(n) найти число, повторяющееся максимальное
количестве раз (если их несколько, то одно из них).
19. Дан массив А(n,m). Требуется найти максимальное и минимальное по
величине числа.
20. Дана матрица А(n,n). Найти сумму элементов над (под) главной и над (под)
побочной диагоналями (включительно с элементами диагоналей).
Olesya777 вне форума Ответить с цитированием
Старый 31.05.2011, 16:04   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Olesya777

Задан массив А(n). Расположить его элементы в обратном порядке.

int arr[10];
std::reverse(arr, arr + 10);

Дан массив А(n), состоящий из вещественных чисел. Определить, образуют
ли его элементы монотонно возрастающую или убывающую


Код:
#include <algorithm>
#include <functional>
#include <iterator>
#include <iostream>
#include <locale>

#include <stdlib.h>
#include <time.h>

template <typename Iterator>
bool is_ascending(Iterator begin, Iterator end)
{
	return std::is_sorted(begin, end);
}

template <typename Iterator>
bool is_descending(Iterator begin, Iterator end)
{
	typedef typename std::iterator_traits<Iterator>::value_type value_type;
	return std::is_sorted(begin, end, std::greater<value_type>());
}

struct R
{
	int operator()() const
	{
		return rand() % 11 - 5;
	}
};

int main()
{
	setlocale(LC_ALL, "");

	srand((unsigned) time(NULL));

	const size_t N = 3;
	
	int arr[N];
	std::generate_n(arr, N, R());

	typedef std::ostream_iterator<int> O;

	std::copy(arr, arr + N, O(std::cout, " "));
	std::cout << std::endl;
	
	if (is_ascending(arr, arr + N))
		std::cout << "Последовательность возрастает" << std::endl;
	else if (is_descending(arr, arr + N))
		std::cout << "Последовательность убывает" << std::endl;
	else
		std::cout << "Хрень какая-то." << std::endl;

	return 0;
}
Пример работы программы: http://liveworkspace.org/code/c8f644...a71af60fbd74a2

18. В массиве чисел А(n) найти число, повторяющееся максимальное
количестве раз (если их несколько, то одно из них).
19. Дан массив А(n,m). Требуется найти максимальное и минимальное по
величине числа.
20. Дана матрица А(n,n). Найти сумму элементов над (под) главной и над (под)
побочной диагоналями (включительно с элементами диагоналей).


Не, нафик, запарило o_0

Последний раз редактировалось Rififi; 31.05.2011 в 16:06.
Rififi вне форума Ответить с цитированием
Старый 31.05.2011, 16:10   #3
Olesya777
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 25
Радость

спасибо!!!!!!!
Olesya777 вне форума Ответить с цитированием
Старый 31.05.2011, 16:36   #4
Olesya777
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 25
По умолчанию

может сможеть и 18-19??????
Olesya777 вне форума Ответить с цитированием
Старый 31.05.2011, 16:42   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

Последний раз редактировалось Alex11223; 31.05.2011 в 16:45.
Alex11223 вне форума Ответить с цитированием
Старый 31.05.2011, 16:49   #6
Olesya777
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 25
Радость

мдаа....вам пацанам всё легче решается....это походу девчонкам не дано!!!!!! напиши половину хотя бы программы
Olesya777 вне форума Ответить с цитированием
Старый 31.05.2011, 16:56   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Алгоритм примерно такой: завести переменную, например, max, присвоить ей значение первого элемента массива, пройти весь массив (цикл for) и с помощью if проверять каждый элемент. Если он больше max, то max присвоить его значение.
Вот так это выглядит. В этот же цикл можно добавить нахождение минимума.
Код:
int max = a[0][0];
for (int i=0; i<=n; i++)
   for (int j=0; j<=m; j++)
        if (a[i][j]>max)
            max=a[i][j];
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.05.2011, 16:59   #8
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Правда преподаватель наверно "удивится" увидев этот код.
Как мы все любим эвфемизмы -))


ЗЫ
20.
Над главной:
Код:
int sum = 0
for (int i = 0; i < n; i++) 
    for (int j = i; j < n; j++)
        sum += A[i][j];
Над побочной:
Код:
int sum = 0
for (int i = 0; i <n; i++) 
    for (int j = 0; j < n - i; j++)
        sum += A[i][j];
ну и так далее...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 31.05.2011, 17:10   #9
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Alex11223

Правда преподаватель наверно "удивится" увидев этот код.

Да не, щас преподы крепкие пошли, и психически устойчивые, их так просто не возьмешь ((((:

"удивлять" преподов лучше всего так:

так достигаются сразу две цели: у пративного препода - взрыв моска, у тебя - зачёт автоматом :lol:

18. В массиве чисел А(n) найти число, повторяющееся максимальное
количестве раз (если их несколько, то одно из них).


Код:
#include <algorithm>
#include <iterator>
#include <iostream>
#include <locale>

#include <map>

#include <boost/spirit/home/phoenix.hpp>
namespace phx = boost::phoenix;
using phx::arg_names::arg1;

#include <boost/range/algorithm/max_element.hpp>
#include <boost/range/adaptor/map.hpp>

#include <stdlib.h>
#include <time.h>

// В массиве чисел А(n) найти число, повторяющееся максимальное количестве раз (если их несколько, то одно из них).

struct R
{
	int operator()() const
	{
		return rand() % 11 - 5;
	}
};

int main()
{
	setlocale(LC_ALL, "");

	srand((unsigned) time(NULL));

	const size_t N = 20;

	int arr[N];
	std::generate_n(arr, N, R());

	typedef std::ostream_iterator<int> O;

	std::copy(arr, arr + N, O(std::cout, " "));
	std::cout << std::endl;


	typedef std::map<int, size_t> Z;
	Z z;

	std::for_each(arr, arr + N, ++phx::ref(z)[arg1]);

	using namespace boost::adaptors;
	
	Z::const_iterator found = boost::max_element(z | map_values).base();
	std::cout << "Максимальное число повторений: " << found->second << ", у элемента массива: " << found->first << std::endl;

	return 0;
}
Пример работы программы: http://liveworkspace.org/code/a08f42...cada35263873a5
Rififi вне форума Ответить с цитированием
Старый 31.05.2011, 17:13   #10
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Olesya777

даа....вам пацанам всё легче решается....это походу девчонкам не дано!!!!!!

не расстраивайся. зато мы ничего не понимаем в губной помаде, шмотках и нижнем белье. семейные трусы - это наше всё! :D
Rififi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W leha_demi Помощь студентам 2 24.09.2011 18:12
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02
Как конвертировать массив символов в массив байт davinci C++ Builder 6 30.10.2010 18:09
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06