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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2011, 17:03   #1
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
Восклицание работа с динамическим списком

Создать два списка. Создать 3-й список, состоящий из неповторяющихся элементов первых двух списков.
начало кое как сделал, немного помогите пожалуйста дальше!!!

Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <time.h>
#include <locale>
#include <iomanip>
using namespace std;
struct spisok
{
	int elem;	
	spisok *next; 
};
spisok *l;
spisok *f;
//----------------------------------создание и вывод списка 1---------------------------------//
void sozdanieSpiska_1(int n)
{
	spisok *m, *k;
	int i;
	k = new spisok;
	k->elem = rand()%75;
	l = k;
	for (i=0; i<n; i++)
	{
		m = new spisok;
		m->elem = rand()%75;
		k->next = m;
		k = m;
	}
}
void vivodspiska_1(int n)
{
	spisok *m;
	m = l;
	for (int i=0; i<n; i++)
	{
		cout<<setw(3)<<m->elem<<" ";
		m=m->next;
	}
}
//-------------------------------------------------------------------------------------------//
//----------------------------------создание и вывод списка 2-------------------------------//
void sozdanieSpiska_2(int n)
{
	spisok *g, *h;
	int i;
	h = new spisok;
	h->elem = rand()%100;
	f = h;
	for (i=0; i<n; i++)
	{
		g = new spisok;
		g->elem = rand()%100;
		h->next = g;
		h = g;
	}
}
void vivodspiska_2(int n)
{
	spisok *g;
	g = f;
	for (int i=0; i<n; i++)
	{
		cout<<setw(3)<<g->elem<<" ";
		g=g->next;
	}
}
//-------------------------------------------------------------------------------------------//
int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "Russian");
	int n;
	cout<<"Введите n: ";
	cin>>n;
	sozdanieSpiska_1(n);
	vivodspiska_1(n);
	cout<<endl;
	sozdanieSpiska_2(n);
	vivodspiska_2(n);
	cout<<endl;
	system("Pause");
	return 0;
}

Последний раз редактировалось Stilet; 08.03.2011 в 20:02.
Medik07 вне форума Ответить с цитированием
Старый 08.03.2011, 19:02   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Не совсем понятно, из чего должен состоять третий список.
"Неповторяющиеся элементы" -- где неповторяющиеся? В пределах одного списка? Или они должны быть уникальными для обоих списков?

И это... перед использованием rand() желательно "засеять" генератор случайных чисел текущим временем:
Код:
srand (time (0));
иначе будешь получать одни и те же списки при каждом запуске программы.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 08.03.2011, 20:54   #3
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию

знал что такой вопрос возникнет, так как я тоже подумал над этим, наверно третий список будет состоять из неповторящихся элементов первого и второго, а не обоих сразу.
Medik07 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с динамическим TClientSocket _-Re@l-_ Компоненты Delphi 9 10.12.2010 15:50
Работа с динамическим подключением DLL Assemblerru C++ Builder 8 08.03.2010 09:40
Работа с динамическим таймером S@fer Общие вопросы Delphi 1 06.05.2009 09:00
Работа с динамическим массивом sand Общие вопросы C/C++ 3 22.08.2008 12:48