Помогите пожалуйста решить задачу:
Дано два массива А и В целых чисел.
Вычислить одномерный массив С, который содержит элементы массива А в одном экземпляре, которые присутствуют в массиве В.
Заранее спасибо.
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
| Дмитрий |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Помогите пожалуйста решить задачу:
Дано два массива А и В целых чисел. Вычислить одномерный массив С, который содержит элементы массива А в одном экземпляре, которые присутствуют в массиве В. Заранее спасибо. |
| klem4 |
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Что вызывает затруднение ? Алгоритм или реализация ?
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| Дмитрий |
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Реализация, алгоритм в принципе понятен.
Я с С++ не дружу. Алгоритм мне видится таким: Выбираем i элемент массива А. Проверяем все элементы (кроме i) на совпадение с i. Если по результату просмотра kol=0, тогда просматриваем массив В, если kol2 = 1, то c[d]:=a[i]; d:=d+1; Код что-то типа такого, писал из головы, на работоспасобность не проверял. Нужно тоже самое в С++. Код for i:=1 to n do begin kol:=0; for j:=1 to m do begin if (i<>j) and (a[i]=a[j]) then kol:=kol+1; end; if (kol=0) then begin kol2:=0; for (k:=1) to t do begin if (a[i]=b[k]) then kol2:=kol2+1; end; if kol2:=1 then begin c[d]:=a[i]; d:=d+1; end; end; end; Сообщение отредактировано: Дмитрий - |
| klem4 |
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
мне кажется ты (или я) не совсем верно понял задание
мой вариант таков: идем по массиву A, берем очередной элемент A[i] просматриваем массив С, если в нем нету элемента равного A[i], то просматриваем массив B, если в нем есть элемент равный A[i], то добавляем A[i] в C -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| Дмитрий |
Сообщение
#5
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Хмм... Мне кажется задание таково:
Берем очередной элемент массива А, если он единственный в массиве А, то смотрим массив В, если элемент А[i] есть в В, то добавляем в С. |
| volvo |
Сообщение
#6
|
|
Гость |
Дмитрий, уточняй задание... Здесь неоднозначность:
Цитата Вычислить одномерный массив С, который содержит элементы массива А в одном экземпляре, которые присутствуют в массиве В. Выделенный текст куда относится? Можно прочесть так, как сказал ты, но можно - так, как сказал klem4...Так что надо точно узнать, искать ли единственные экземпляры массива A, и сохранять их в C (если они есть в B), или брать любые элементы массива A, и сохранять их в С в единственном экземпляре... Это - разные вещи: A = (1, 2, 3, 1, 4, 5) B = (1, 2, 3) C будет равно (2, 3) по первому варианту, или (1, 2, 3) по второму... |
| Дмитрий |
Сообщение
#7
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
В массиве А у нас содержится элемент в 1м экземпляре. Проверяем, есть ли он в В, если есть, то заносим в С (первый вариант из тех что Вы предложили).
A = (1, 2, 3, 1, 4, 5) B = (1, 2, 3) С=(2,3) |
| Дмитрий |
Сообщение
#8
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Помогите пожалуйста, мне завтра уже сдавать.
|
| Дмитрий |
Сообщение
#9
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Сделал вот такое, но оно не работает =((( Выводит фигню какую-то.
#include <iostream.h> |
| volvo |
Сообщение
#10
|
|
Гость |
#include <iostream> |
| Дмитрий |
Сообщение
#11
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Спасибо. А это под какой С++? У меня в борланде не делается...
|
| volvo |
Сообщение
#12
|
|
Гость |
Это под GCC... Какой Borland у тебя? У меня из борландов есть только Builder (я думаю, программа должна пойти без изменений), и досовский Turbo C 3.0
|
| Дмитрий |
Сообщение
#13
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
У меня Borland C++ 3.1. Досовский еще. Программа работает в Visual C++ . Попробую экзешник показать, под "дурочку" закосить. Огромное спасибо за помощь =)
|
| volvo |
Сообщение
#14
|
|
Гость |
Для досовского компилятора надо немного подправить:
Прикрепленные файлы
05.CPP ( 658 байт )
Кол-во скачиваний: 298 |
| Дмитрий |
Сообщение
#15
|
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Огромное спасибо =)
|
![]() ![]() |
|
Текстовая версия | 22.12.2025 17:20 |