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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2017, 20:35   #1
ggjgj
Пользователь
 
Регистрация: 25.10.2016
Сообщений: 83
По умолчанию [C++] Создать очередь, содержащую целые числа. После всех чисел, кратных X, вставить новый элемент.

Создать очередь, содержащую целые числа. После всех чисел, кратных 𝑋, вставить новый элемент.
Например, если введены 1 1 2 3 2 4 3 5 4 1 и 𝑋 = 2, то результат должен быть
1 1 2 0 3 2 0 4 0 3 5 4 0 1.
ggjgj вне форума Ответить с цитированием
Старый 21.04.2017, 20:42   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И?

Покажите свои наработки, конкретные вопросы и т.п.

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.04.2017, 16:25   #3
ggjgj
Пользователь
 
Регистрация: 25.10.2016
Сообщений: 83
По умолчанию

Проверьте пожалуйста на соответствие заданию и ошибки, работает ,все ввожу, но новую очередь не выводит.
Код:
#include <iostream>
using namespace std;
struct queue {
	int inf;
	queue *next;
};
bool empty(queue *h)
{
	return h == NULL;
}
void push(queue *&h, queue *&t, int val)
{
	queue *ins = new queue;
	ins->inf = val;
	ins->next = NULL;
	if (empty(h) && empty(t))
		h = t = ins;
	else
	{
		t->next = ins;
		t = ins;
	}

}
int pop(queue *&h, queue *&t)
{
	queue *temp = h;
	int val = temp->inf;
	h = temp->next;
	if (empty(h))
		t = NULL;
	delete temp;
	return val;
}
int main() {
	int n, val, x, y;
	cout << "Vvedite kol-vo element.";
	cin >> n;
	cin >> x;
		cin >> y;
	queue *h1, *t1;
	h1 = t1 = NULL;
	cout << "Vvedite elem. queue:\n";
	for (int i = 0; i < n; i++)
		cin >> val;
	push(h1, t1, val);
	queue *h2, *t2;
	h2 = t2 = NULL;
	while (!empty(h1) && !empty(t1))
	{
		val = pop(h1, t1);
		push(h2, t2, val);
	}
	while (!empty(h2) && !empty(t2))
	{
		val = pop(h2, t2);
		push(h1, t1, val);
		if (val%x == 0)
			push(h1, t1, y);
	}
	cout << "New queue \n";
	while (!empty(h1) && !empty(t2))
		cout << pop(h1, t1) << " ";
	system("pause");
	return 0;
}
ggjgj вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В одномерном массиве,содержащий целые числа, после всех минимальных элементов вставить X ggjgj Общие вопросы C/C++ 5 20.11.2016 18:40
Вставить новый элемент после всех элементов, которые заканчиваются на данную цифру Дюша Метелкин Паскаль, Turbo Pascal, PascalABC.NET 1 22.03.2016 12:30
Вставить новый элемент после всех элементов schibeki Общие вопросы по Java, Java SE, Kotlin 1 19.05.2015 20:39
Задача в С#. Дан двоичный файл, содержащий целые числа. Создать новый файл, удалив некоторые числа... malinkkaa Помощь студентам 0 23.03.2014 23:08
Вставить число после всех элементов массива, кратных 3 Mclaren Помощь студентам 0 10.11.2009 02:40