ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #341  
Старый 27.03.2008, 22:18
}I{ek
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме:
64407

Репутация: 2
По умолчанию

Друзья, помогите плз :
с++
Разработать программу, выполняющую операции со структурами данных, реализованными в виде связанных списков. Алгоритмы выполнения каждой операции оформить в виде функции. Программа должна содержать меню, позволяющее протестировать все операции с динамической структурой
Элементы данных:
Авторы – 20 символов, название - 20 символов, год издания – целое число
Структуры данных:
Дек с ограниченным входом
Добавление элемента слева, проверка дека на отсутствие в нем элементов, удаление элемента справа, удаление элемента слева, получение значения левого элемента, удаление всех элементов, сравнение двух деков, вывод дека
Реализовать ввиде Связанного двунаправленного линейного списка

я часть написал но не уверен(((

Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
string rus(char s[ ]);
struct book
{ char avtor[20];
  char name[20];
  int  year;
};
struct element
{ book info;
  element *next;
  element *prev;
};
void add_l(element *&list,element *&list2);             // 1
bool empty(element *&list);                             // 2
void del_r(element *&list,element *&list2);             // 3
void del_l(element *&list,element *&list2);             // 4
void output_l(element *&list,element *&list2);          // 5
void del(element *&list,element *&list2);               // 6
bool compayer(element *&list,element *&list2);          // 7
void output(element *list);            // 8
void menu();
int main()
{ int i;
  element *in=NULL;
  element *inout=NULL;
   while(true)
{ menu();
  cin>>i;
  clrscr();
  switch(i)
{
  case 1: add_l(in,inout); break;
  case 2: empty(in); break;
  case 3: del_r(inout,in); break;
  case 4: del_l(in,inout); break;
  case 5: output_l(in,inout); break;
  case 6: del(in,inout); break;
  case 7: compayer(in,inout); break;
  case 8: output(inout); break;
  default: cout<<rus("\nневерный номер.\n");
  case 0: return 0;
}
}
}
 void add_l(element *&list,element *&list2)
 {
  element *t;
  t=new element;
  cout<<rus("введите автора: ")<<endl;
  cin.get();
  cin.getline(t->info.avtor,20);
  cout<<rus("введите название: ")<<endl;
  cin.getline(t->info.name,20);
  cout<<rus("веедите год: ")<<endl;
  cin>>t->info.year;
  if(list==NULL)
  {
   list2=list=t;
   t->next=0;
   t->prev=0;
  }
  else
  {
   list->prev=t;
   t->prev=0;
   t->next=list;
   list=t;
  }
 }
 bool empty(element *&list)
 {
  if(list==0)
  {cout<<rus("дук пуст.");
   return true;}
  {return false;}
 }
 void del_r(element *&list2,element *&list)
 {
  element *p;
  if(!empty(list))
  if(list==list2)
  {
   p=list2;
   list=list2=0;
   delete p;

  }
  else
  {
   p=list2;
   list2=list2->prev;
   list2->next=0;
   delete p;
  }
 }
 void del_l(element *&list2,element *&list)
 {}
 void output_l(element *&list,element *&list2)
{
 if(!empty(list))
{
 cout<<rus("автор: ")<<list->info.avtor<<endl;
 cout<<rus("название: ")<<list->info.name<<endl;
 cout<<rus("год: ")<<list->info.year<<endl;
 cout<<"---------------------------------------------"<<endl;
 cout<<"--------------------OK-----------------------";
}
}


  void del(element *&list2,element *&list)
 {
  while(!empty(list))
  del_r(list2,list);
  del_l(list2,list);
 }
 bool compayer(element *&list,element *&list2)
 {}
 void output(element *list)
 {
   if(!empty(list))
    {
    element *t;
    t=list;
   while(t!=0)
   {
    cout<<rus("Автор: ")<<t->info.avtor<<endl;
    cout<<rus("название: ")<<t->info.name<<endl;
    cout<<rus("год: ")<<t->info.year<<endl;
    cout<<"*********************************************"<<endl;
    t=t->next;
   }
   cout<<"---------------------------------------------"<<endl;
   cout<<"--------------------OK-----------------------";
   }
 }
 void menu()
{
 cout<<rus("\n Выберите:\n");
 cout<<rus("\n1. Добавление элемента слева.");
 cout<<rus("\n2. проверка дека на отсутствие в нем элементов");
 cout<<rus("\n3.  удаление элемента справа.");
 cout<<rus("\n4.  удаление элемента слева.");
 cout<<rus("\n5. получение значения левого элемента.");
 cout<<rus("\n6. удаление всех элементов.");
 cout<<rus("\n7. сравнение двух деков.");
 cout<<rus("\n8. вывод дека.");
 cout<<rus("\n0. завершение проги.");
 cout<<rus("\n\n выберите:");
}
 string rus(char s[ ]) // Перевод кодировки из Windows в Dos
 {
 string t;
 int i=0;
 t=s;
 while (t[i]!=0)
 {
 if(t[i]>='A'&& t[i]<='п' )
 t[i]-=64;
 if(t[i]>='p'&& t[i]<='я' )
 t[i]-=16;
 i++;
 }
  return t;
 }

Последний раз редактировалось }I{ek; 27.03.2008 в 23:18..
 
Ответить с цитированием

  #342  
Старый 28.03.2008, 00:33
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

????Всмысле упадет?
 
Ответить с цитированием

  #343  
Старый 28.03.2008, 00:57
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

 
Ответить с цитированием

  #344  
Старый 28.03.2008, 11:13
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

_http://www.cyberguru.ru/programming/delphi/delphi-components-part1-page11.html
_http://www.delphisources.ru/pages/faq/base/kol_date_time_functions.html
_http://wm-help.net/books-online/book/1492/1492-10.html
Ну это так дополнение
 
Ответить с цитированием

  #345  
Старый 28.03.2008, 19:05
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от }I{ek  
Всё ,друзья,справился......
Код в студию
 
Ответить с цитированием

  #346  
Старый 28.03.2008, 23:12
}I{ek
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме:
64407

Репутация: 2
По умолчанию

Прошу, коментируем

Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
string rus(char s[ ]);
struct book
{ char avtor[20];
  char name[20];
  int  year;
};
struct element
{ book info;
  element *next;
  element *prev;
};
void add_l(element *&list,element *&list2);             // 1
bool empty(element *&list);                             // 2
void del_r(element *&list2,element *&list);             // 3
void del_l(element *&list,element *&list2);             // 4
void output_l(element *&list,element *&list2);          // 5
void del(element *&list,element *&list2);               // 6
void output(element *list);            // 7
void menu();
int main()
{ int i;
  element *in=NULL;
  element *inout=NULL;
   while(true)
{ menu();
  cin>>i;
  clrscr();
  switch(i)
{
  case 1: add_l(in,inout); break;
  case 2: empty(in); break;
  case 3: del_r(inout,in); break;
  case 4: del_l(in,inout); break;
  case 5: output_l(in,inout); break;
  case 6: del(inout,in); break;
  case 7: output(in); break;
  default: cout<<rus("\nневерный номер.\n");
  case 0: return 0;
}
}
}
 void add_l(element *&list,element *&list2)
 {
  element *t;
  t=new element;
  cout<<rus("введите автора: ")<<endl;
  cin.get();
  cin.getline(t->info.avtor,20);
  cout<<rus("введите название: ")<<endl;
  cin.getline(t->info.name,20);
  cout<<rus("веедите год: ")<<endl;
  cin>>t->info.year;
  if(list==NULL)
  {
   list2=list=t;
   t->next=0;
   t->prev=0;
  }
  else
  {
   list->prev=t;
   t->prev=0;
   t->next=list;
   list=t;
  }
 }
 bool empty(element *&list)
 {
  if(list==0)
  {cout<<rus("дек пуст.");
   return true;}
   else
  {return false;}
 }
 void del_r(element *&list2,element *&list)
 {
  element *p;
  if(!empty(list))
  if(list==list2)
  {
   p=list2;
   list=list2=0;
   delete p;

  }
  else
  {
   p=list2;
   list2=list2->prev;
   list2->next=0;
   delete p;
  }
 }
 void del_l(element *&list,element *&list2)
{
 element *p;
 if(!empty(list))
 if(list==list2)
 {
  p=list;
  list=list2=0;
  delete p;
 }
 else
 {
  p=list;
  list=list->next;
  list->prev=0;
  delete p;
 }
}
 void output_l(element *&list,element *&list2)
{
 if(!empty(list))
{
 cout<<rus("автор: ")<<list->info.avtor<<endl;
 cout<<rus("название: ")<<list->info.name<<endl;
 cout<<rus("год: ")<<list->info.year<<endl;
 cout<<"---------------------------------------------"<<endl;
 cout<<"--------------------OK-----------------------";
}
}


  void del(element *&list2,element *&list)
 {
  while(!empty(list))
  del_r(list2,list);
 }


void output(element *list)
{
if(!empty(list))
{
element *t;
t=list;
while(t!=0)
{
cout<<rus("Автор: ")<<t->info.avtor<<endl;
cout<<rus("Название: ")<<t->info.name<<endl;
cout<<rus("Год издания: ")<<t->info.year<<endl;
cout<<"*********************************************"<<endl;
t=t->next;
}
}
}
 void menu()
{
 cout<<rus("\n Выберите:\n");
 cout<<rus("\n1. Добавление элемента слева.");
 cout<<rus("\n2. проверка дека на отсутствие в нем элементов");
 cout<<rus("\n3. удаление элемента справа.");
 cout<<rus("\n4. удаление элемента слева.");
 cout<<rus("\n5. получение значения левого элемента.");
 cout<<rus("\n6. удаление всех элементов.");
 cout<<rus("\n7. вывод дека.");
 cout<<rus("\n0. завершение проги.");
 cout<<rus("\n\n выберите:");
}
 string rus(char s[ ]) // Перевод кодировки из Windows в Dos

{
string t;
int i=0;
t=s;
while (t[i]!=0)
{
if (t[i]>='А' && t[i]<='п')
t[i]-=64;
if (t[i]>='р' && t[i]<='я')
t[i]-=16;
i++;
}
return t;
}
 
Ответить с цитированием

  #347  
Старый 29.03.2008, 23:52
avton0m
Познающий
Регистрация: 15.12.2007
Сообщений: 37
Провел на форуме:
62499

Репутация: 15
По умолчанию

Ищется короткое решение (желательно на C/c++)
Дана строка, состоящая только из скобок '(' и ')'
Нужно проверить, является ли она арифметически правильной. Т.е. является ли расп. скобок верным в арифм. выражении
 
Ответить с цитированием

  #348  
Старый 30.03.2008, 01:12
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

Код:
bool check_str(char *str)
{
 int cnt=0;
 for(int i=0;*(str+i)!=0;i++)
 if(*(str+i)=='(')
 {
    cnt++;
 }
  else
     if(*(str+i)==')')
     {
        if(cnt>0)
          cnt--;
        else
          return false;
     }
 if(cnt==0)
   return true;
 else
   return false;
}
 
Ответить с цитированием

  #349  
Старый 30.03.2008, 22:55
043nKRuT0y
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме:
394522

Репутация: 14
По умолчанию

Народ помогите написать програму на "С" !!! задача таковая : С клавиатуры вводитса текст в котором слова разделены пробелом. Пробелов можеть быть как один так и несколько , надо в етом тексте найти симетрические слова(тоесть слова которые одинаково читаютса справа на лево и наоборот) и вывести их на екран .... Кто может помочь выложыте код с меня много плюсов ! )
 
Ответить с цитированием

  #350  
Старый 31.03.2008, 02:28
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от 043nKRuT0y  
Народ помогите написать програму на "С" !!! задача таковая : С клавиатуры вводитса текст в котором слова разделены пробелом. Пробелов можеть быть как один так и несколько , надо в етом тексте найти симетрические слова(тоесть слова которые одинаково читаютса справа на лево и наоборот) и вывести их на екран .... Кто может помочь выложыте код с меня много плюсов ! )
Могу реализовать на DELPHI, кто нить переведет на C
Если надо отпишись!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ