![]() |
|
Модераторы: bsa |
![]()
|
|
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
Помогите с решением задачи.
Даны 2 целочисленных массива.Первый 1,2,2,3,4,5,5 и второй 0,2,3,5.Найти элементы,входящие как в первый ,так и во второй массив,но без повторов и вывести их на экран в виде третьего массива. вот текст проги,но кроме 2,она никакой элемент больше не выводит. int a[7]={1,2,2,3,4,5,5}; int b[4]={0,2,3,5}; int c; for (int j=0;j<7;j=j+1) { for (int i=0;i<4;i=i+1) if (a[j]==b[i]) { c[x]=a[j]; cout << c[x++]<< '\n'; } } Сначало формируется массив с из элементов,которые есть и в массиве а и в массиве в.Удаление одинаковых элементов оформляется через булеву переменную.Но как??? все это объяснить компу на С++ - не знаю. |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
Это сообщение отредактировал(а) Lazin - 19.10.2008, 10:29 |
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
а как вывести результат на экран? я через cout и cin пробовал-не выводится.
|
|||
|
||||
| DRUID3 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 20.6.2005 Где: Kyyiv Репутация: нет Всего: 9 |
Вам дали рабочий пример... -------------------- Every time if you use Linux, you are joined to the communism... практика - критерий истины ... отделенной от нас пропастью субъективного восприятия... |
|||
|
||||
| _GRIN_ |
|
||||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: нет Всего: 7 |
Lazin, твой метод не универсален (но прост и быстр
(т.е. двойку повторить два раза, то он и выведет ёё два раза) , т.е. если копировать в другой массив, то он и скопирует её два раза. а в задании сказано
на скорую руку набросал такой вариант, думаю при желании код можно упростить
*второй массив сделал с двумя двойками для демонстрации Это сообщение отредактировал(а) _GRIN_ - 19.10.2008, 12:04 -------------------- Дорогу осилит идущий |
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
bugfix^^^ |
|||
|
||||
| taiven |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 2 Всего: 9 |
Что за мода новичков всякикми STL`ами кормить?
Не ручаюсь, что работает |
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
Господа эксперты!
Объясните,как заставить прогу выводить результат пересечения?Я забиваю код,на секунду появляется черный экран(пустой) и исчезает.Как это прописать в проге? |
|||
|
||||
| _GRIN_ |
|
|||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: нет Всего: 7 |
taiven, согласен, может и не стоит, но так и тянет (нативно) к тому же динамический массив - если использовать через указатель и длину - то имхо ещё более мудрёно для новичка получится, а так и пример вполне читаемый и алгоритм достаточно универсален в плане размера выходного массива (можно конечно и на отдельную темплейт-функцию завести, но удержался но пофиксинный пример Lazin'а и впраду лучше моего - респект Это сообщение отредактировал(а) _GRIN_ - 19.10.2008, 13:11 -------------------- Дорогу осилит идущий |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
программа выводит результат и сразу закрывается, что-бы этого не происходило, можно в ф-ю main добавить system("pause");, а можно запустить прогу из консоли |
|||
|
||||
| taiven |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 2 Всего: 9 |
Кроме
можно еще
|
||||||||
|
|||||||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
у тебя без STL-ов сложность O(M*N), а у меня с STL-ами O(M*ln(M) + N*ln(N)) |
|||
|
||||
| _GRIN_ |
|
|||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: нет Всего: 7 |
drakon803, допиши
getchar(); в конец main() - тогда пока не нажмёшь чё-нить на клаве - не выйдешь -------------------- Дорогу осилит идущий |
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
Я,видимо,очень тупой студент.Но ниодна прога,что здесь выложена,у меня не работает.Или выдает ошибки и не запускается,или не показывает результата.вот.
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
ты каким компилятором пользуешься?
|
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
Visual Studio 2005
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
тогда в чем проблема, с этим компилятором все должно работать
|
|||
|
||||
| taiven |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 2 Всего: 9 |
Ошибки какие выдаёт то, что не работает?
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 3 Всего: 134 |
самое стльное решение
std::sort дважды + std::set_intersection один раз. примерно так:
Это сообщение отредактировал(а) Mayk - 19.10.2008, 17:04 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
ошибку выдает:
c:\documents and settings\тт\мои документы\visual studio 2005\projects\19102008\19102008\19102008.cpp(21) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? Build log was saved at "file://c:\Documents and Settings\ТТ\Мои документы\Visual Studio 2005\Projects\19102008\19102008\Debug\BuildLog.htm" 19102008 - 1 error(s), 0 warning(s) ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== в коде: #include <iostream> #include <algorithm> #include <iterator> int main() { int a[] = { 5,2,2, 1, 3 }; int b[] = { 8,3,2, 2, 1 }; int* a_end = a+sizeof(a)/sizeof(a[0]); int* b_end = b+sizeof(b)/sizeof(b[0]); std::sort( a, a_end ); std::sort( b, b_end ); std::set_intersection( a, a_end, b, b_end, std::ostream_iterator<int>(std::cout," ")); std::cout << std::endl; } Добавлено через 4 минуты и 41 секунду в коде: // ,1910200811.cpp : Defines the entry point for the console application. // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } int main(int argc, char* argv[]) { int a[7]={1,2,2,3,4,5,5 }; int b[4]={0,2,3,5}; int c[4]; int cindex = 0; bool check = true; for (int i = 0; i < 7; i++) for (int k = 0; k < 4; k++) if (a[i]==b[k]) { for(int m = 0; m < cindex; m++) { if(b[k]==c[m]) { check = false; break; } else check = true; } if(check) c[cindex++] = b[k]; } for(int m = 0; m < cindex; m++) cout << c[m] << " "; cout << "\n"; system("pause"); return 0; } выдает ошибку: Compiling... ,1910200811.cpp c:\documents and settings\тт\мои документы\visual studio 2005\projects\,1910200811\,1910200811\,1910200811.cpp(37) : error C2065: 'cout' : undeclared identifier c:\documents and settings\тт\мои документы\visual studio 2005\projects\,1910200811\,1910200811\,1910200811.cpp(40) : error C3861: 'system': identifier not found Build log was saved at "file://c:\Documents and Settings\ТТ\Мои документы\Visual Studio 2005\Projects\,1910200811\,1910200811\Debug\BuildLog.htm" ,1910200811 - 2 error(s), 0 warning(s) ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== |
|||
|
||||
| taiven |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 2 Всего: 9 |
Удали весь код который у тебя есть и попробуй так:
|
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
выдал ошибку:
Compiling... ,1910200811.cpp c:\documents and settings\тт\мои документы\visual studio 2005\projects\,1910200811\,1910200811\,1910200811.cpp(33) : error C2561: 'main' : function must return a value c:\documents and settings\тт\мои документы\visual studio 2005\projects\,1910200811\,1910200811\,1910200811.cpp(8) : see declaration of 'main' Build log was saved at "file://c:\Documents and Settings\ТТ\Мои документы\Visual Studio 2005\Projects\,1910200811\,1910200811\Debug\BuildLog.htm" ,1910200811 - 1 error(s), 0 warning(s) ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== |
|||
|
||||
| taiven |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 2 Всего: 9 |
Ладно, по пунктам:
1)У тебя только мой текст в редакторе, нет ничего лишнего? 2)Проверь или ты внимательно скопировал исходник. 3)Попробуй удалить строку return 0; и вместо int main напиши void main 4)Если ничего не помогает, создай новый проект(Empty project, а не Console Application), добавь туда исходник и откомпилируй. |
|||
|
||||
| drakon803 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.12.2007 Репутация: нет Всего: нет |
taiven
ПРОЩУ ПРОЩЕНИЯ!ИЗВИНИ ЗА ТУПОСТЬ!Я ГЛУПЫЙ!И НЕ ВНИМАТЕЛЬНЫЙ!В последней строке не скопировал 0. Все работает!СПАСИБО ТЕБЕ ОГРОМНОЕ!!!ЗА ПОМОЩЬ! И ВООБЩЕ-СПАСИБО ВСЕМ ЗА ПОМОЩЬ И ЖЕЛАНИЕ ПОМОЧЬ!!! |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
drakon803, несмотря на твои эмоции, всё же не рекомендуется писать в верхнем регистре. Со зрением у людей на форуме обычно проблем нет. Удачи.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |