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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2016, 02:39   #11
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ладно сейчас. Я когда-то с вектором работал... Надо только вспомнить...
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 02:59   #12
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

А итераторы применять?

Что то вроде такого:

#include <iterator> // заголовочный файл итераторов

ostream_iterator<int>(cout," ") //итератор потока вывода
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 03:01   #13
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ладно хер с ними.
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 03:38   #14
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Такое? Тестируй сама.



Код:
#include <vector>
#include <iostream>
using namespace std;

void print_arr(vector<int> &a)
{
	cout << " array= ";
	for (unsigned int i = 0; i < a.size(); i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}

int main()
{
	vector<int> a;  // создание пустого массива из int 
	a.push_back(3);
	a.push_back(1);
	a.push_back(4);
	a.push_back(1);
	a.push_back(5);
	a.push_back(9);
	a.push_back(2);
	a.push_back(6);
	
	print_arr(a);
	int loops = 0;
	int swaps = 0;	
	for (unsigned int j = 0; j < a.size(); j++)
	{
		for (unsigned int i = 0; i<a.size() - 1; i++)
		{
			if (a[i]>a[i + 1])
			{
				cout << "swapping(" << a[i] << "," << a[i + 1] << ")";
				cout << endl;
				swap(a[i], a[i + 1]);
				swaps++;
				print_arr(a);
			}
		}
		if (swaps>0)
		{
			loops++;
		}
		cout << "total-swaps=" << swaps << ", loops=" << loops << endl;
	}
	system("pause");
	return 0;
}
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 03:42   #15
Okokcmoo
Пользователь
 
Регистрация: 28.10.2016
Сообщений: 13
По умолчанию

Спасибо большое он вроде бы компилируется:D
Okokcmoo вне форума Ответить с цитированием
Старый 29.10.2016, 03:46   #16
Okokcmoo
Пользователь
 
Регистрация: 28.10.2016
Сообщений: 13
По умолчанию

Вы можете так же посмотреть остальные задачи по векторам, которые я добавила в форуме?
Okokcmoo вне форума Ответить с цитированием
Старый 29.10.2016, 03:49   #17
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1) У меня предупреждения были: типа:

a.size() - всегда положительно, а в месте

for (int i = 0; i < a.size(); i++) - типа " i" может быть и отрицательным.

поэтому предупреждение выводило...

Я добавил ключевое слово "unsigned" ("всегда положительно")


2) Пару слов о функции "swap" (обмен данными). Раньше она была из
"#include <algorithm>" , а теперь (обрати внимание, я удалил этот заголовочный файл) функция "swap" стала из #include <vector>.

P.S.: в этом месте я вообще хотел её удилить, а сделать обмен по народно-крестьянски (через промежуточную переменную), но потом решил оставить.
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 03:52   #18
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

И ещё, когда я говорил "протестируй" я имел ввиду не компиляцию, а "внимательно, проверять каждую цифру расчётов и сопоставление с оригиналом".
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 03:54   #19
Okokcmoo
Пользователь
 
Регистрация: 28.10.2016
Сообщений: 13
По умолчанию

Я компилировала через ойнлайн компилятор cpp.sh. А библиотеку algorithm использовала из-за того, что на моем компе стоит старая версия компилятора.
Okokcmoo вне форума Ответить с цитированием
Старый 29.10.2016, 03:57   #20
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1.jpg
ura_111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ Пожалуйста, помогите решить с векторами Okokcmoo Помощь студентам 7 29.10.2016 06:01
c++ Пожалуйста, помогите решить с векторами Okokcmoo Помощь студентам 0 28.10.2016 23:15
Помогите пожалуйста решить! С помощью checkbox решить найти положительные числа и среднее арифметическое АлександраОрлова Помощь студентам 1 06.12.2015 08:52
работа с векторами и матрицами. помогите пожалуйста решить задачу. владимир/к. Паскаль, Turbo Pascal, PascalABC.NET 1 28.01.2009 10:45