Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 21:19   #1
cranxx
Пользователь
 
Регистрация: 30.11.2010
Сообщений: 10
Вопрос Одномерные массивы

Задано 2 массива, нужно найти наименьшие среди элементов первого массива которые не входят во второй.
Пробовал так:

#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
main()
{
int i,j,n,c,bl;
int a[100];
cout<<"razmer 1-go massiva: ";
cin>>n;
cout<<"vvedite elementi massiv1: "<<endl;
for(i=0;i<n;i++)
{
cout<<i+1<<" - element: ";
cin>>a[i];
}
int b[100];
cout<<"razmer 2-go massiva: ";
cin>>c;
cout<<"vvedite elementi massiv2: "<<endl;
for(i=0;i<c;i++)
{
cout<<i+1<<" - element: ";
cin>>b[i];
}

int min=a[0];
for (i=1;i<n;i++)
{
if (a[i]<min) {min=a[i];}
bl=true;

for (j=0;j<c;j++)
{
if (min==b[j]) {bl=false;break;}
}
if(bl) cout<<"Minimalnoe:"<<min<<endl;
}

return 0;
}

Ввожу одни числа считает, другие - нет. Кто подскажет. в чем ошибка?
cranxx вне форума Ответить с цитированием
Старый 01.12.2010, 10:44   #2
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

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

Код:
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;

void main()
{
	setlocale(0,"");
	int * mas_1, *mas_2, n_1, n_2, *not;
	int kol = 0, t=0, min; 
	cout<<"Введите размер первого массива"<<endl;
	cin>>n_1;
	mas_1 = new int [n_1];
	cout<<"Введите элементы первого массива"<<endl;
	for (int i = 0; i<n_1; i++)
	{
		cin>>mas_1[i];
	}

	cout<<"Введите размер второго массива"<<endl;
	cin>>n_2;
	mas_2 = new int [n_2];
	cout<<"Введите элементы второго массива"<<endl;
	for (int i = 0; i<n_2; i++)
	{
		cin>>mas_2[i];
	}

		not = new int [n_1];

	for (int i = 0; i<n_1; i++)
	{
		kol = 0;
		for (int k = 0; k<n_2; k++)
			if (mas_1[i] == mas_2[k])
				kol++;
		
		if (kol == 0)
		{
//если не было совпадений
			not[t] = mas_1[i];
			t++;
		}
	}

	if (t>0)
	{
	min = not[0];
//поиск минимума
	for (int i = 1; i<t; i++)
	{
		if (min > not[i])
			min = not[i];
	}
	cout<<"Минимальный элемент: "<<endl;
		cout<<min<<" ";
	}
	else cout<<"Нет таких элементов";

	delete [] mas_1;
	delete [] mas_2;
	delete [] not;
	getch();
	
}
JeyKip вне форума Ответить с цитированием
Старый 02.12.2010, 17:39   #3
cranxx
Пользователь
 
Регистрация: 30.11.2010
Сообщений: 10
По умолчанию

А что означает kol ??
cranxx вне форума Ответить с цитированием
Старый 02.12.2010, 22:33   #4
pacniwassano
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 81
По умолчанию

счетчик совпадений, там даже в коде есть комментарий
pacniwassano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы kazzz Помощь студентам 5 18.11.2010 13:16
Одномерные массивы Romario92 Помощь студентам 3 31.10.2010 13:51
Одномерные массивы Takada_sony Помощь студентам 8 25.03.2010 17:50
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12