Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Promolol

Сортировка слиянием(1 сорт список+2 сорт список=3 сорт список)

22.05.2010, 00:24. Показов 786. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите найти ошибку уже замучалсо, итак прога:
Написать программу, составляющую по трем символьным файлам линейные упорядоченные по длине слов списки и функцию объединения списков.
Выдать объединенный список на экран.

Функцию объединения списков такую чтобы, 3 список был отсортирован слиянием по первым двум (как понимаете только это сделать не получается)

Язык С

неправильно работает функции PLNODE merge, помогите плизз

вот кот:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<string.h>
#define SIZE_OF_STRING 1000
#define SIZE_OF_word 100
 
typedef struct node //структура,экземпляр, указатель
{
   char str[SIZE_OF_word];
   struct node *next;
}LNODE,*PLNODE;
 
PLNODE merge(PLNODE *top1,PLNODE *top2,PLNODE *top3) //обьединяем 3 списка в один
{     
   PLNODE cur3=*top3;
   PLNODE cur=*top1;
   PLNODE cur2=*top2;
 
   int len_pre;
   int len_new;
 
   PLNODE newp;
    
   for( ; ; )
   {
       if((cur!=NULL))
           len_pre=strlen(cur->str);
       if((cur==NULL) && ((cur2!=NULL)))
           len_pre=len_new+1;
 
       if((cur2!=NULL))
           len_new=strlen(cur2->str);
       if((cur2==NULL) && ((cur!=NULL)))
           len_new=len_pre+1;
 
        
 
       if((cur==NULL) && (cur2==NULL)){
           return *top3;
       }
 
       if((len_pre!=0 && len_new==0)) {
           cur2=cur2->next;
           len_new=strlen(cur2->str);
       }
       if((len_pre==0 && len_new==0)) {
           cur=cur->next;
           cur2=cur2->next;
           len_pre=strlen(cur->str);
           len_new=strlen(cur2->str);
       }
 
       if((len_pre>len_new)) {
           if(*top3!=NULL) {
               *top3=cur2;
               cur3=*top3;
               cur3=cur3->next;
           }
           if(*top3==NULL) {
               *top3=cur2;
               cur3=*top3;
               cur3=cur3->next;
           }     
            
        
           cur2=cur2->next;
       }
       else {
           if(*top3!=NULL) {
               *top3=cur;
               cur3=*top3;
               cur3=cur3->next;
           }
 
           if(*top3==NULL) {
               *top3=cur;
               cur3=*top3;
               cur3=cur3->next;
           }
 
           cur=cur->next;
       }
   }
}
 
void main(void)
{
   FILE *file1;
   FILE *file2;
   
   file1=fopen("D:/abc.txt","rt");
   PLNODE top1;
...
 
   file2=fopen("D:/def.txt","rt");
   PLNODE top2;
...
 
   printf("\nlists 1+2\n===================\n");
    
   PLNODE top_1_2,topmerge=NULL,topmerge2=NULL;
   top_1_2=merge(&top1,&top2,&topmerge);
 
}
большую часть программы снес, оставил основу там где ошибка, помогите найти плиз
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.05.2010, 00:24
Ответы с готовыми решениями:

задача сорт и поиск бульбашка
надо по сортировать числа 12 22 15 55 11 21 12 31 13 51 55 15 с помощью буль башки в отсортированном массиве после этова найти...

Составить программу, в которой описывается структура из полей: Товар, Цена, Сорт
Составить программу, в которой описывается структура из полей: Товар, Цена, Сорт. Организовать ввод двух структурных переменных, вывод...

Классы с наследованием. Описать класс fruit, содержащий поля сорт, размер, описание
В программе описать класс fruit содержащий поля сорт, размер, описание. Наследующий классы Apple с полем качество сока и Orrange с полем...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.05.2010, 00:24
Помогаю со студенческими работами здесь

Объясните как отсортировать первые 10 элементов последовательности по возрастанию, последние 10 - наоборот (быстрая сорт
Данная последовательность из 20 целых чисел, заполненная в промежутке . Отсортировать первые 10 элементов последовательности по...

Создать список L3 из элементов, входящих и в список L1 и в список L2
создать список л3 из элементов входящих и в список л1 и в список л2

3 класса: список, стек(как список), очередь(как список)
препод дал задание: написать 3 класса (список, стек, очередь), методы: вывод, добавление, удаление. Использовать при обращении указатель...

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

list. Cоздать список из результатов(с массивами), а потом просмотреть весь список
Подскажите пожалуйста как мне создать список из моих результатов(с массивами) а потом просмотреть весь список, вот код который имеется ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru