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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 10:11   #1
Ipumacool
Новичок
Джуниор
 
Регистрация: 30.10.2012
Сообщений: 7
По умолчанию Организация структур на языке Си

Реализуйте однонаправленный циклический список. Необходимо предусмотреть режим поиска требуемых элементов. помогите пожалуйста!!!
Ipumacool вне форума Ответить с цитированием
Старый 30.10.2012, 11:00   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Что не получается?
p51x вне форума Ответить с цитированием
Старый 30.10.2012, 13:10   #3
Ipumacool
Новичок
Джуниор
 
Регистрация: 30.10.2012
Сообщений: 7
По умолчанию

ну тогда по другому...
что-то не получается,нужно исправить ошибку. вот задание: Реализуйте однонаправленный циклический список. Необходимо предусмотреть режим поиска требуемых элементов. А вот прога моя...
#include<stdio.h>
#include<conio.h>
struct spisok {
int info;
spisok *link;
};
spisok *first=NULL;
void add()
{
int data;
if (first==NULL)
{
first=new (spisok);
printf("vvedite element \n");
scanf("%d",&first->info);
first ->info=data;
first ->link=NULL;
}
else
{
spisok *adr;
adr=first;
while (adr ->link!=NULL)
{
adr=adr->link;
}
adr->link=new (spisok);
printf("vvedite element \n");
scanf("%d" ,adr->info);
adr=adr->link;
adr->info=data;
adr->link=NULL;
}
}
void print()
{
}
void del()
{ spisok *adr, *adr1;
spisok *first;
int data;
adr=first;
if (adr->info==data)
{
first=adr->link;
delete adr;
}
else
{
while (adr->link->info!=data)
{ //Ї®Є adr->link->info *
adr=adr->link
}
adr1=adr->link;
adr->link=adr->link->link;
delete adr1;
}
}
main()
{
clrscr();
int n;
do
{
printf("1. Добавить элемент \n");
printf("2. Просмотреть содержимое \n");
printf("3. Удалить элемент \n");
printf("4. Поиск элемента \n");
printf("5. Выход \n");
printf("Введите пункт меню: ");
scanf("%d", &n);
if (n==1)
add();
//if (n==2)
if (n==3)
del();
//if (n==4)
}
while (n!=5);
getch();
}
Ipumacool вне форума Ответить с цитированием
Старый 30.10.2012, 13:51   #4
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Работайте. Печать надо получше сделать.

Код:
#include<stdio.h>
 #include<conio.h>
 struct spisok
 {
   int info;
   spisok *link;
 };
 spisok *first = NULL;
 spisok* end = NULL;
 void add(int a)
 {
   spisok* s = new spisok();
   s->info = a;
   if(!first)
   {
	 first = s;
	 end = s;
   }
   else
   {
	end->link = s;
	end = s;
   }
 }
 void print()
 {
   printf("%d ",first->info);
   spisok* cur = first;
   while(cur->link != end)
   {
     cur = cur->link;
	 printf("%d ",cur->info);
   }
   printf("%d\n",cur->link->info);
 }
 void del()
 {
 
 }
 main()
 {
 clrscr();
 int n;
 do
 {
 printf("1. Add \n");
 printf("2. Print \n");
 printf("3. Del \n");
 printf("4. Find \n");
 printf("5. exit \n");
 printf("Enter: ");
 scanf("%d", &n);
 if(n==1)
 {
   int a;
   printf("element:\n");
   scanf("%d",&a);
   add(a);
 }
 if (n==2)
   print();
 //if (n==3)
 //   del();
 //if (n==4)
 }
 while (n!=5);
 getch();
 }
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 30.10.2012, 22:01   #5
Ipumacool
Новичок
Джуниор
 
Регистрация: 30.10.2012
Сообщений: 7
По умолчанию

сейчас посмотрим) а для материальных ценностей..как переводить то) че это..блин,разберусь с лабой если правильно то жди) спасибо)
Ipumacool вне форума Ответить с цитированием
Старый 30.10.2012, 22:23   #6
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Я забыл, дописанный вариант.
Код:
#include<stdio.h>
#include<conio.h>
 struct spisok
 {
   int info;
   spisok *link;
 };
 spisok *first = NULL;
 spisok* end = NULL;
 void add(int a)
 {
   spisok* s = new spisok();
   s->info = a;
   if(!first)
   {
	 first = s;
	 end = s;
   }
   else
   {
	end->link = s;
	end = s;
   }
 }
 void print()
 {
   if(!first)
   {
	 printf("spisok pust\n");   
	 return;
   }
   printf("%d ",first->info);
   spisok* cur = first;
   while(cur != end)
   {
     cur = cur->link;
	 printf("%d ",cur->info);
   }
   printf("\n");
 }

 void delEnd()
 {
   spisok* cur = first;
   while(cur->link != end)
   {
	 cur = cur->link;
   }
   if(cur == first)
   {
     delete cur;
	 first = NULL;
	 end = NULL;
   }
   delete cur->link;
   end = cur;
 }

 void find(int a)
 {
   if(!first)
   {
	 printf("spisok pust\n");   
	 return;
   }  
   bool exist = false;
   spisok* cur = first;
   while(cur != end)
   {
	 if(cur->info == a)  
	 {
       exist = true;
	   break;
	 }
	 cur = cur->link;
   }
   if(cur->info == a || exist)
     printf("element exist\n");  
   else
    printf("element not exist\n");
 }

void main()
 {
 int n;
 do
 {
 printf("1. Add \n");
 printf("2. Print \n");
 printf("3. Del \n");
 printf("4. Find \n");
 printf("5. exit \n");
 printf("Enter: ");
 scanf("%d", &n);
 if(n==1)
 {
   int a;
   printf("element:\n");
   scanf("%d",&a);
   add(a);
 }
 if (n==2)
   print();
 if (n==3)
   delEnd();
 if (n==4)
 {
   int a;
   printf("element:\n");
   scanf("%d",&a);
   find(a);
 }
 if(n==5)
   break;
 }
 while (n!=5);
 getch();

 }
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 31.10.2012, 22:00   #7
Ipumacool
Новичок
Джуниор
 
Регистрация: 30.10.2012
Сообщений: 7
По умолчанию

теперь не запускается совсем..
Ipumacool вне форума Ответить с цитированием
Старый 31.10.2012, 22:07   #8
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

#include "stdafx.h"

если студия
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi: Организация стековых структур и очередей huligan68 Помощь студентам 31 24.05.2012 21:51
SOS!!!!(на каком языке программа?)Нужно переделать программу,а я даже не знаю на каком она языке:eek::eek:,РЕБЯТА ПОМОГИ Нака Помощь студентам 10 19.11.2011 15:16
c++ массивы структур atemiks Помощь студентам 6 15.08.2011 15:02
на каком языке создаются такие программы ,какое СУБД и структура реализации БД,также на каком языке соста оля87 Помощь студентам 13 25.05.2009 18:08
Программа на русском языке в Windows XP на другом языке... Как? 29bit Свободное общение 4 01.02.2008 17:24