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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2011, 15:00   #1
Skender
Пользователь
 
Регистрация: 27.08.2011
Сообщений: 21
По умолчанию Создать класс список

Создать базовый класс список. Реализовать на базе списка стек и очередь с
виртуальными функциями вставки и вытаскивания.

вот задачка на Си я решал такие(насчет создание списка) и достаточно легко а тут я запнулся и не пойму как желать помогите ПЖЛСТ если можно исходником
Skender вне форума Ответить с цитированием
Старый 11.09.2011, 16:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так а как ты решал? Показывай функции - в класс их обернуть не сложно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.09.2011, 18:56   #3
Skender
Пользователь
 
Регистрация: 27.08.2011
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну так а как ты решал? Показывай функции - в класс их обернуть не сложно.
ну вот к примеру :
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

struct people
{
char fam[20];
char im9i[10];
char ot4[20];
int voz;
struct people *next;
struct people *prev;
};
struct people *P_New_struct,*start,*finich,*lol,* info;
void vvod()
{
int i,n;
//создание списка
printf("kol-vo 4elovek\n");
scanf_s("%d", &n);
for (i=0;i<n;i++) // весь этот цикл это ввод и создание списка %)
{
P_New_struct=(people *)calloc(n,sizeof(people ));
printf ("vvedite familiI0\n");
scanf_s ("%s",&P_New_struct->fam,20);
printf ("vvedite im9I\n");
scanf_s ("%s",&P_New_struct->im9i,10);
printf ("vvedite ot4estvo\n");
scanf_s ("%s",&P_New_struct->ot4,20);
printf ("vvedite vozrast\n");
scanf_s ("%d",&P_New_struct->voz);
if (i==0)
{
P_New_struct->prev=0;
P_New_struct->next=0;
start=P_New_struct;
finich=P_New_struct;
}
else
{
P_New_struct->prev=finich;
P_New_struct->next=0;
finich->next=P_New_struct;
finich=P_New_struct;
}
}

}
void dobav()
{
//добавление элемента
P_New_struct=(people *)calloc(2,sizeof(people ));
printf ("vvedite familiI0\n"); //
scanf_s ("%s",&P_New_struct->fam,20); //
printf ("vvedite im9I\n"); //
scanf_s ("%s",&P_New_struct->im9i,10); //
printf ("vvedite ot4estvo\n"); //
scanf_s ("%s",&P_New_struct->ot4,20);//
printf ("vvedite vozrast\n"); //
scanf_s ("%d",&P_New_struct->voz); // ВСЁ это - добавление элесмента
P_New_struct->next=0; //
P_New_struct->prev=finich; //
finich->next=P_New_struct; //
finich=P_New_struct; //

}
struct people *poisk(void)
{
char Fam[15];
struct people *bufer;
bufer=start;
printf("Vvedite Famil\n");
scanf_s("%s",&Fam,15);
printf ("Familiy\tIm9\tOt4estvo\tAge\n\n") ;
while(bufer)
{
if (!strcmp(Fam,bufer->fam))
{
printf("%s\t",bufer->fam,20);
printf("%s\t",bufer->im9i,10);
printf("%s\t",bufer->ot4,20);
printf("%i\t",bufer->voz);
return bufer;
}
else {bufer=bufer->next;}
}
return 0;
}
//а это теоретически удаление элемента
int del(void)
{
lol=poisk();
if(lol)
{
if (lol==start)
{
start=start->next;
start->prev=0;
free(lol);
}
else
{
if (lol==finich)
{
finich=finich->prev;
finich->next=0;
free(lol);
}
else
{
(lol->prev)->next=lol->next;
(lol->next)->prev=lol->prev;
}
return 0;
}
}
else {return 1;}
printf("\n\nOk Famil iz spiska udalena\n");
}
void vivod()
{
printf ("Familiy\tIm9\tOt4estvo\tAge\n\n") ;
info=start;
while (info)
{

printf("%s\t",info->fam,20);
printf("%s\t",info->im9i,10);
printf("%s\t",info->ot4,20);
printf("%i\n",info->voz);
info=info->next;

}
}
void le_exit()
{
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\ t\t\t\t\tnazhmite 0\n");
int k=1;
while (k!=0)
{
scanf_s("%d",&k);
}
}
int main(){
int q,exit=0;
do {
system("cls");
printf ("Sdelay vibor\n\n1.Sozdanie spiska\t2.Dobav elementa\t3.poisk\t4.delete\t5.vivo d\n\n");
printf ("\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\ t\tExit (6)");
scanf_s("%d",&q);
switch (q)
{
case 1:{system("cls");vvod();le_exit();b reak;}
case 2:{system("cls");dobav();le_exit(); break;}
case 3:{system("cls");poisk();le_exit(); break;}
case 4:{system("cls");del();le_exit();br eak;}
case 5:{system("cls");vivod();le_exit(); break;}
case 6:{exit=1;break;}
}

}while (exit!=1);
free(P_New_struct);
}
Skender вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработайте класс, реализующий линейный двусвязный список Аким Ба Паскаль, Turbo Pascal, PascalABC.NET 11 24.08.2011 23:08
Создать класс Date ГлавБухОЙ Помощь студентам 5 13.06.2011 11:41
Как добавить Метод в класс Список с++ lirikoff Помощь студентам 5 26.08.2010 20:08
Класс линейный список valdemar593 Помощь студентам 2 19.04.2010 20:21
Создать Класс Heat JNN Общие вопросы C/C++ 0 04.06.2009 00:53