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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2009, 22:00   #1
Катюшенька
Пользователь
 
Аватар для Катюшенька
 
Регистрация: 08.12.2008
Сообщений: 32
Вопрос Задачка для Бонард Си... тема: указатели и массивы...

Я немного запуталась... можете помочь?
Даны два массива : А[n] и B[m]. Необходимо создать третий массив, в котором нужно собрать элементы массива A, которые не включаются в B
Верю... Надеюсь... Люблю...
Катюшенька вне форума Ответить с цитированием
Старый 26.01.2009, 22:15   #2
Dvijochnyk
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 21
По умолчанию

int C[n+m],k=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if (A[i]!=M[j])
{
C[k]=A[i];
C[k+1]=M[j];
k=k+1;
}
}
}
здається так я не перевіряв попробуй
Dvijochnyk вне форума Ответить с цитированием
Старый 26.01.2009, 22:18   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

const int n=10, m=10;
int main(){
int a[n],b[n],*c,i,j,k,z;
bool fl;
srand(time(NULL));

// заполняем a
cout<<"Massiv a:\n";
for(i=0;i<n;i++)
 {
  a[i] = rand()%10;
  cout.width(4);
  cout<<a[i];
 }
cout<<endl<<endl;
// заполняем b
cout<<"Massiv a:\n";
for(i=0;i<m;i++)
 {
  b[i] = rand()%10;
  cout.width(4);
  cout<<b[i];
	}
cout<<endl<<endl;
//--------------
// смотрим, сколько места нужно для нового массива
for(i=0,k=0;i<n;i++)
 {
  fl = true;
  for(j=0;j<m;j++)
  if(a[i]==b[j])
     {
	fl = false;
	break;
     }
  if(!fl) continue;
  //смотрим, не повтор ли это
  for(j=0;j<i;j++)
   if(a[i]==a[j])
     {
	fl = false;
	break;
     }
  if(!fl) continue;
  k++;
}
//-------------
//выделяем память
c = new int[k];
// заполняем массив c
cout<<"Massiv c:\n";
z = 0;
 for(i=0;i<n;i++)
 {
   fl = true;
   for(j=0;j<m;j++)
   if(a[i]==b[j])
     {
	fl = false;
	break;
     }
   if(!fl) continue;
  //смотрим, не повтор ли это
  for(j=0;j<i;j++)
  if(a[i]==a[j])
   {
     fl = false;
     break;
   }
  if(!fl) continue;
  c[z++] = a[i];
  cout.width(4);
  cout<<a[i];
	}
delete[] c;
getch();
return 0;
}
Опять же: если Борланд, то удалить using namespace std; и заменить <iostream> на <iostream.h>
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 26.01.2009 в 22:21.
Sazary вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели и динамические массивы. Airou Общие вопросы C/C++ 5 16.01.2009 19:05
С++.Указатели и массивы Wia Помощь студентам 1 15.12.2008 18:29
Помогите,plz,решить задачи на С++.Тема:Указатели и ф-ии!Срочно!!! Wia Помощь студентам 5 06.12.2008 12:30
Задачи на массивы и указатели в СИ D@rk_Spirit Общие вопросы C/C++ 3 29.12.2007 08:01