Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Списки
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anastasia2012 Anastasia2012 вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 09.12.2012
По умолчанию Списки - 09.12.2012, 11:46

Здравствуйте ПОМОГИТЕ ПОЖАЛУЙСТА с 3 и 4 заданием
1.Организовать два связных списка по m случайных элементов диапазона от -5 до 5, использую дункцию создания списка с помощью генератора случайных чисел.
2. Вывести оба списка на экран. В функцию вывода добавить подсчет элементов.
3. В первом списке удалить узлы с нулевым значением, а во втором списке - узлы со значением 1.
4. Слить оба списка в один простым сцеплением. Вывести на экран.
cpp Код:
#include <vcl.h>
#include<iostream.h>
#include<conio.h>
#pragma hdrstop
 
#include <tchar.h>
//---------------------------------------------------------------------------
 
    struct List
    {
        int data;
        List *next;
    };
    typedef List* LPtr;
    LPtr Head=NULL;
    int m,i,z;
    void Show(LPtr H);
    LPtr Form(int n);
    void outs(LPtr H);
    void del(LPtr &H,int r);
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
    cout<<"Vvedite s klaviaturbI m"<<endl;
    cin>>m;
    cout<<"\n";
    LPtr Head=Form(m);
    cout<<"Spisok pervbIi: \n";
    LPtr Hop=Form(m);
    Show(Head);
    del(Head, 0);
    cout<<"\n Spisok vtoroi: \n";
    Show(Hop);
    del(Hop, 1);
    getch();
    return 0;
}
//---------------------------------------------------------------------------
 void Show(LPtr H)
    {
        LPtr tmp=H;
        while(tmp)
        {
            cout<<tmp->data<<"\t";
            tmp=tmp->next;
        }
    }
 LPtr Form(int n)
    {
        LPtr L,t;
        if(n<0) return NULL;
        L=new List;
        L->data=rand()%5;
        L->next=NULL;
        t=L;
        for(int i=0;i<n;i++)
        {
            t->next=new List;
            t=t->next;
            t->data=rand()%11-5;
            t->next=NULL;
        }
        return L;
        }
 
  void outs(LPtr H)
{
 z=0;
 LPtr tmp=new List;
 while (tmp)
 {
  z++;
  cout<<tmp->data<<'\t';
  tmp=tmp->next;
 }
 cout<<"\nkolichestvo elementov:"<<z<<endl;
}
void del(LPtr &H,int r)
{
 LPtr tmp=H;
 if(H->data==r)
 {
  H=H->next;
  delete tmp;
 }
 LPtr pred=H;
 while(tmp)
 {
  if(tmp->data!=r)
  {
   pred=tmp;
   tmp=tmp->next;
  }
  else
  {
   pred->next=tmp->next;
   delete tmp;
  }
  }
 }
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
списки Anksuna Prolog 0 18.01.2011 20:21
списки! parovoz121 Prolog 5 08.01.2011 20:53
Списки Chosen One Prolog 4 24.12.2010 00:01
Списки. salamandra91 Prolog 1 07.12.2010 20:49
списки >.< Malgrim Prolog 8 16.11.2009 21:50
списки toxa161 Prolog 3 25.07.2009 14:27
СПИСКИ tomsonlp Prolog 4 08.05.2009 22:47
Списки serggo Prolog 3 08.05.2009 00:43
Списки Satirikon Prolog 3 23.04.2009 23:26
Списки loxmatii Prolog 2 17.04.2008 17:06
Списки для Уфы drunkenelf Prolog 1 22.12.2005 11:52
Списки на SWI katish Prolog 15 20.11.2005 19:46



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов