Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
#1

массив - C++

15.12.2009, 13:39. Просмотров 363. Ответов 8
Метки нет (Все метки)

Определить местоположение элементов массива А(30), не встречающихся в массиве В(15).

мой код работает неверно, точнее он сравнивает каждый раз, т.е. я хочу чтобы если есть одинаковые элементы, то чтобы он переходил сразу к следующему, а не дальше продолжил сравнивать...
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
#include <stdio.h>
#include <conio.h>
int main()
{ 
    int mas[10],arr[5],i,j,n=0,pArr[10],k;
printf("Vvedite elementi massiva A\n");
for(i=0;i<10;i++)
{scanf("%d",&mas[i]); }
printf("Vvedite elementi massiva B\n");
for(j=0;j<5;j++)
{scanf("%d",&arr[j]);  }
 
for(i=0;i<10;i++)
{ for(j=0;j<5;j++)
  if(mas[i]!=arr[j])
{ pArr[n]=i;
 n++;
}
}
 
for(k=0;k<n;k++)
printf("%d\n",pArr[k]);
getch();
return 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2009, 13:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. - C++
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.

8
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
15.12.2009, 13:57 #2
вот так попробуй
C
1
2
3
4
5
6
        
for(j=0;j<5;j++)
            if(mas[i]==arr[j])  
                break;  
        
            if(j==5)    { pArr[n]=i;    n++;    }
логика такая, если перебрав весь массив arr мы там не встретили симавол mas[i] (при этом j==5) мы его заносим, иначе, если встретили, то прерывается цикл перебора (раз один совпал, то дальше нам и не надо) и тогда j!=5
1
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
15.12.2009, 14:08  [ТС] #3
так тоже не катит, и еще
i может принимать значение не больше 10

Добавлено через 4 минуты
однако вы меня правильно поняли, но так тоже нельзя реализовать...
дело в том что и в первой массиве возможен что и дальше есть элементы которые будут равны arr[5]
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
15.12.2009, 14:11 #4
Цитата Сообщение от so1o Посмотреть сообщение
так тоже не катит, и еще
i может принимать значение не больше 10

Добавлено через 4 минуты
однако вы меня правильно поняли, но так тоже нельзя реализовать...
дело в том что и в первой массиве возможен что и дальше есть элементы которые будут равны arr[5]
вот теперь я тебя точно не понял

ты берёшь каждый элемент массива mas и сравниваешь его с каждым элементом arr пока не встретишь совпадение, если не встретил записываешь позицию, что тут не так?
1
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
15.12.2009, 14:12  [ТС] #5
пардон!! все работает!!
спасибо, только вот не пойму почему цикл не прекращается когда пишем break; ??
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
15.12.2009, 14:17 #6
прерывается цикл только вот этот for(j=0;j<5;j++), основной до конца проходит, все же элементы надо проверить
1
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
15.12.2009, 14:21  [ТС] #7
я этого и добавился, из-за незнания не смог так реализовать ...
я тоже догадывался так сделать, но думал что весь цикл на этом закончится...
а вот этот момент я все таки не понял
if( j==5)
как j может быть равен 5 ?? ведь мы в for указали что он < 5
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
15.12.2009, 14:25 #8
как сказал бы Шерлок, это элементарно Ватсон.
смотри for(j=0;j<5;j++) цикл выполняется пока j<5, следовательно он прекратит выполняться когда j станет j>=5, так как ты прибавляешь по единице, то цикл у тебя остановиться при j==5, так как это первое значение при котором нарушается твоё условие (j<5)

доходчиво объяснил?
1
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
15.12.2009, 14:26  [ТС] #9
все я понял!! спасибо вам большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2009, 14:26
Привет! Вот еще темы с ответами:

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным - C++
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок схему программы

Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2) - C++
из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
15.12.2009, 14:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru