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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2013, 17:49   #1
Sumy-ua
Пользователь
 
Регистрация: 12.05.2013
Сообщений: 31
По умолчанию Написать подпрограммы, возвращающие новый список L

Даны два списка L1 и L2 пар вещественных чисел. Написать подпрограммы, возвращающие новый список L, включающий в себя:
а) пары списка L1, первая координата которых встречается как вторая координата у пар списка L2,
б) пары (х, у) списка L1, встречающиеся в виде (у, х) в списке L2,
в) пары (х,у), где х < у списка L1.

Вот начал делать:
Код:
#include <vcl.h>
#pragma hdrstop
 struct Stack {
 int info, info1,info2,info3;
  Stack * next;
} *begin;
 
void InStack(int,int,int,int);
void Del_All(Stack **);
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender) // создать списки
{
  int i,n,c;
 n=StrToInt(Edit1 ->Text);
  for(i=0;i<n;i++)
 { InStack(random(20),random(220),random(50),random(60)); }
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) // просмотр списков
{
 if(!begin)
 {
  ShowMessage("Стек пуст");
  return;
 }
 Stack *temp=begin;
 while(temp!=NULL)
 {
  Memo1->Lines->Add(IntToStr( temp->info ) + "," + IntToStr( temp->info1 ));
  Memo2->Lines->Add(IntToStr( temp->info2 ) + "," + IntToStr( temp->info3 ));
   temp=temp->next;
 }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender) // очистить списки
{
    Memo1->Clear();
     Memo2->Clear();
 if (begin != NULL) Del_All(&begin);
}
//---------------------------------------------------------------------------
  void InStack(int in,int in1,int in2,int in3)
{
  Stack *temp = new Stack;
  temp->info=in;
  temp->info1=in1;
  temp->info2=in2;
  temp->info3=in3;
  temp->next=begin;
  begin=temp;
}
void Del_All(Stack **p)
{
 Stack *temp=new Stack;
 while(*p!=NULL)
 {
  temp=*p;
  *p=(*p)->next;
  delete temp;
 }
}
Помогите сделать пункты а,б,в.

Последний раз редактировалось Sumy-ua; 12.05.2013 в 20:21.
Sumy-ua вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Написать процедуры (подпрограммы или функции) для расчета нормы Su-34 Помощь студентам 0 28.03.2012 11:27
Составить функцию формирующую новый список Ame Помощь студентам 0 17.04.2011 20:47
Сформировать новый список, в котором элементы следуют от конца к началу Ma666oT Помощь студентам 7 02.04.2010 00:15
Как самому написать новый компонент Yury Общие вопросы Delphi 2 11.05.2007 21:25