0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
1

Даны два одномерных массива разной размерности. найти элементы принадлежащие и тому и другому массиву

18.12.2013, 20:53. Показов 6876. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста!
Даны два одномерных массива разной размерности. найти элементы принадлежащие и тому и другому массиву.
(на языке с++)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2013, 20:53
Ответы с готовыми решениями:

Даны два одномерных массива А и B. Найти их скалярное произведение.
Даны два одномерных массива А и B. Найти их скалярное произведение.через С++ если можно к строчкам...

С помощью функции определения среднего значения элементов массива обработать два массива разной размерности
Помогите составить программу с использованием только функции. Эту тему прошли, но свое задание я...

Даны два массива. Найти элементы, принадлежащие и тому и другому массиву
1)даны два одномерных массива.найти элементы,принадлежащие и тому и другому массиву.поиск...

Даны два одномерных массива разной размерности. Для каждого из заданных одномерных массивов выполнить: из
Даны два одномерных массива разной размерности. Для каждого из заданных одномерных массивов...

24
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
18.12.2013, 20:57 2
В чем проблема?
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 21:02  [ТС] 3
просто не знаю как искать общие элементы..
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
18.12.2013, 21:04 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
const int n = 10;
const int m = 15;
 
int main()
{
    int a[n] = {1,2,3,4,1,6,2,8,9,10};
    int b[m] = {19,18,17,1,20,2,30,10,4,18,2,5,31,32,33};
    bool f;
    for (int i=0; i<n; i++)
    {
        f = true;
        for (int j=0; j<i; j++)
            if (a[i]==a[j])
            {
                f = false;
                break;
            }
        if (f)
        {
            for (int j=0; j<m; j++)
                if (a[i]==b[j])
                {
                    std::cout <<a[i] <<' ';
                    break;
                }
        }
    }
    std::cout <<std::endl;
    return 0;
}
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 21:07  [ТС] 5
спасибо..но чет походу мы некоторое моменты не проходили
"f=true" не знаю
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
18.12.2013, 21:12 6
f - переменная логического типа. Может принимать два значения: истина(true) и ложь(false).
1
Заблокирован
18.12.2013, 21:13 7
Можете вместо true/false использовать 0/1 int типа
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 21:22  [ТС] 8
если что прошу не ругать за невежество...я пока только учусь

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
#define size 20
void main()
}
clrscr();
int a[size], b[size];
int i,j,n;
printf("введите размер массива A:");
scanf("%d",&n);
printf("введите элементы массива A:");
for(i=0;i<n;i++);
scanf("%d,&a[i]);


вот далее тоже самое про массив В писать?
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
18.12.2013, 21:41 9
Если вы имеете ввиду заполнение массива с клавиатуры, то да. Можно и в одном цикле их оба заполнить, что-то типа:
"Введите сначала эл массива А,затем эл массива B", но так как-то не очень красиво. Или заполняйте случайными числами.
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 21:47  [ТС] 10
это не мой каприз. это каприз преподавателя.. ей видите ли нравится так больше.

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define size 20
void main()
}
clrscr();
int a[size], b[size];
int i,j,n;
printf("введите размер массива A:");
scanf("%d",&n);
printf("введите элементы массива A:");
for(i=0;i<n;i++);
scanf("%d,&a[i]);
printf("введите размер массива B:");
scanf("%d",&m);
printf("введите элементы массива B:");
for(j=0;j<m;j++);
scanf("%d,&b[j]);


это правильно?
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
18.12.2013, 21:54 11
Да, только переменную m объявите

Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
#define size 20
 
void main()
{
    int a[size], b[size];
    int i,j,n,m;
    printf("введите размер массива A:");
    scanf("%d",&n);
    printf("введите элементы массива A:");
    for(i=0;i<n;i++);
    scanf("%d",&a[i]);
    printf("введите размер массива B:");
    scanf("%d",&m);
    printf("введите элементы массива B:");
    for(j=0;j<m;j++);
    scanf("%d",&b[j]);
}
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 22:07  [ТС] 12
а как действовать дальше?
используя только циклы for, while, do while
и мы прошли только условный оператор if
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
18.12.2013, 22:09 13
Не совсем правильно,после for в 17 строчке ; ставить не нужно.
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
18.12.2013, 22:15 14
Цитата Сообщение от S_el Посмотреть сообщение
после for в 17 строчке ; ставить не нужно.

Не по теме:

ага, не заметил:)

0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 22:30  [ТС] 15
а далее так можно записать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
if
        for (int j=0; j<i; j++)
            if (a[i]==a[j])
            {
                else
                break;
            }
        if (f)
        {
            for (int j=0; j<m; j++)
                if (a[i]==b[j])
                {
а дальше не знаю
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
18.12.2013, 22:37 16
Записать можно,но это не правильно.
Разбейте свою задачу на пункты и постепенно делайте,так намного проще.
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 22:41  [ТС] 17
а что не правильно то?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
18.12.2013, 22:47 18
C++
1
2
3
4
5
6
7
8
9
10
11
12
if
for (int j=0; j<i; j++)
if (a[i]==a[j])
{
else // не относится ни к одному if
break;//зачем?
}
if (f)
{
for (int j=0; j<m; j++)
if (a[i]==b[j])
{
И вообще программа не такая большая чтобы частями кода вставлять,можно запутатся.
0
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 11
18.12.2013, 22:48  [ТС] 19
ну тогда не знаю как иначе
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
18.12.2013, 23:02 20
Сравнивайте каждый элемент массива A со всеми элементами массива B, если данный элемент есть в массиве B, то выводите его. Я же уже её написал.
0
18.12.2013, 23:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2013, 23:02
Помогаю со студенческими работами здесь

Создать два одномерных массива разного размера. Найти элементы, принадлежащие и первому, и второму массиву
Создать два одномерных массива разного размера. Найти элементы, принадлежащие и первому, и второму...

Найти элементы, принадлежащие и тому и другому массивам
Составить алгоритм и программу на языке Паскаль для решения задачи: Даны два одномерных массива....

Даны два одномерных массива одинаковой размерности. Найти их скалярное произведение.
Даны два одномерных массива одинаковой размерности. Найти их скалярное произведение.

Заданы три одномерных массива разной размерности Для каждого из массивов определить повторяющиеся элементы
ЕСТЬ ОСНОВНОЙ КОД ПРОГРАММЫ,НО ВЫДАЕТ ОШИБКУ.Пожалуйста,помогите! Sub main() Dim A() As Double...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru