Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
ghostepta
0 / 0 / 0
Регистрация: 28.11.2008
Сообщений: 3
#1

Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. - C++

23.12.2008, 19:40. Просмотров 1202. Ответов 1
Метки нет (Все метки)

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

Добавлено через 37 минут 26 секунд
вот решение но тут ошибки,могли бы исправить и выложить с обьяснением)))
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct _poisk *point;
typedef struct _poisk
{
int a;
char *c;
point next;
}poisk;

int Comp (char *s,char *c)//функция поиска строки c в строке s
{
int n,m,i,j,k,l,a;
n=strlen(s);
m=strlen(c);
k=0;
l=0;

for (i=0;i<n-m+1;i++)
{
for (j=0;j<m;j++)
{
if (s[i+j]==c[j]) k++;
else k=k;
}
if (k!=m) l++;
else l=l;
}
if (l==(n-m+1)) a=0;//строки c нет в строке s
else a=1;//строка c есть в строке s
return a;
}
int main()
{
point pl,plh=0,pl2,plh2=0,plc,plch=0;
int i,b,n;
char *s,*h;
for (i=0;i<5;i++)
{
pl=(point) malloc (sizeof(poisk));
s=(char*) malloc(50);
pl->a=i+1;
printf("enter the string\n");
gets(s);
pl->c=s;
pl->next = plh;
plh = pl;
}
for(pl=plh;pl!=0;pl=pl->next)
printf("%d %s %.08X \n",pl->a,pl->c,pl);
h=(char*) malloc(50);
printf("Enter the required string\n");
gets(h);
n=0;
for (pl=plh;pl!=0;pl=pl->next)
{
pl2=(point) malloc (sizeof(poisk));
pl2->a=i;
pl2->c=pl->c;
b=Comp(pl2->c,h);
if (b==0)
{
pl2->next=plh2;
plh2=pl2;
printf("%d %s %.08X \n",pl2->a,pl2->c,pl2);
}
n++;
i--;
}
for (pl=plh;pl!=0
{
plc=pl->next;
s=pl->c;
free(s);
free(pl);
pl=plc;
}
for (pl2=plh2;pl!=0
{
plc=pl2->next;
s=pl2->c;
free(s);
free(pl2);
pl2=plc;
}
getch();
free(h);
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2008, 19:40     Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры.
Посмотрите здесь:

Реализовать односвязный список для хранения данных вида: ФИО, группа, средний балл. C++
C++ Реализовать односвязный список для хранения
Реализовать односвязный список, в котором бы логика обхода его элементов задавалась бы пользователем. C++
C++ Реализовать односвязный список, элементы которого содержат целые числа
Односвязный кольцевой список, реализовать C++
Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те C++
C++ Отсортировать массив из структур по одному из полей структуры любым способом
C++ Реализовать односвязный список студентов
C++ Реализовать односвязный список и вектор
Попытка реализовать односвязный линейный список C++
Реализовать сортировку массива объектов пользовательского типа по заданному полю (структуры) C++
C++ Реализовать иерархию классов, включающую в себя односвязный и двусвязный список

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.12.2008, 22:53     Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. #2
Код
typedef struct _poisk *point;
typedef struct _poisk {
    int a;
    char *c;
    point next;
} poisk;
надо

Код
typedef struct _poisk {
    int a;
    char *c;
    struct _poisk *next;
} Poisk, *Point;
с больших букв чтобы было видно что это новые типы
Yandex
Объявления
23.12.2008, 22:53     Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры.
Ответ Создать тему
Опции темы

Текущее время: 17:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru