|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.04.2011, 08:22 | #1 |
Новичок
Джуниор
Регистрация: 29.01.2011
Сообщений: 2
|
Работа со списками. проблемы в коде
Здравствуйте! Подскажите пожалуйста как решить задачу: Составить программу, которая формирует список L, включив в него по 1 разу элементы, которые входят в список L1, но не входят в список L2. Количество элементов в списках на свое усмотрение.
Я делал таким образом. Формируем список Л1, потом Л2 путем ввода символом с клавы. Далее запускаем цикл в цикле, который сравнивает элемент списка Л1 со всеми элементами списка Л2 и если не находит совпадений, то записывает этот элемент Л1 в список Л. Но код не работает…заменил операцию сравнения с != на == - программа работает, но не так, как в условии. Она ищет повторяющиеся элементы и если находит – записывает в список Л, а надо записывать туда неповторяющиеся….. В чем я ошибся не могу разобраться. Вот код: include "stdafx.h" #include <iostream> #include <conio.h> #include <list> #include <iomanip> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char myarray[20], myarray1[10], myarray2[10]; cin >> setw(10) >> myarray1; cin >> setw(10) >> myarray2; int k=0; for (int i=0; i < sizeof(myarray1);i++) { for (int j=0; j<sizeof(myarray2);j++) { if (myarray2[j] == myarray1[i]) { myarray[k] = myarray1[i]; k++; } } } cout << myarray; getch(); return 0; } И еще вопрос. При вот этом коде если вводить в список Л1 3 элемента, а в список Л2 – 1 элемент, то в конце программы вылетает ошибка «A buffer overrun has occurred in Spiski.exe which has corrupted the program's internal state.» Она значит, что я где то перемудрил и переполнил массив? Или что? Заранее спасибо за помощь! |
01.04.2011, 08:54 | #2 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
Ты бы код нормально оформил, там специально для тебя кнопочку придумали с решеткой.
в твоей программе наоборот добавляются элементы которые присутствуют в обоих списках, а по условию надо чтобы были разные. И еще зачем создавать массив найденных элементов больше чем массив L1? Он же по определению больше быть не может. Код:
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
|
02.04.2011, 19:37 | #3 |
Новичок
Джуниор
Регистрация: 29.01.2011
Сообщений: 2
|
про кнопочку не знал - спасибо ))))
Спасибо, я теперь разобрался что к чему! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа со списками | Kumigy | Помощь студентам | 1 | 23.12.2010 16:24 |
c++. Работа со списками | megavolt91 | Помощь студентам | 0 | 14.06.2009 21:31 |
Работа со списками | Dimo444ka | Помощь студентам | 2 | 01.06.2008 16:34 |
Работа со списками. | radist | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 07.05.2007 00:05 |