Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Максимальная степень вложенности циклов Подскажите пожалуйста, надо написать программу, которая определяет максимальную степень вложнности циклов в программе на си. Я примерно понимаю алгоритм, но не не знаю, как реализовать. Буду очень благодарен https://www.cyberforum.ru/ c-beginners/ thread1614254.html C (СИ) Заполнить сектора матрицы, которые лежат влево и вправо от главной и побочной диагоналей
Добрый день! Друзья, помогите, пожалуйста, с лабораторными по С. Учусь на физика, в программировании вообще ничего не понимаю, а без этих лаб зачета не получить. Заранее благодарю! Очень поможете 4)Составить программу, заполнит секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей, ЛП, от левого верхнего угла вниз - вправо. Остаток матрицы заполнить нулями. с такими...
C (СИ) Скопировать строку в другую строку заданной длины и разместить текст первой строки по центру второй строки https://www.cyberforum.ru/ c-beginners/ thread1614247.html
Добрый день! Друзья, помогите, пожалуйста, с лабораторными по С. Учусь на физика, в программировании вообще ничего не понимаю, а без этих лаб зачета не получить. Заранее благодарю! Очень поможете 3) Разработать функцию, которая копирует строку в другую строку заданной длины и размещает текст первой строки по центру второй строки. При реализации функции запрещается пользоваться функциями...
C (СИ) Составить программу, в которой будут вводиться 7 - 10 строк таблицы Добрый день! Друзья, помогите, пожалуйста, с лабораторными по С. Учусь на физика, в программировании вообще ничего не понимаю, а без этих лаб зачета не получить. Заранее благодарю! Очень поможете 2)Составить программу, в которой будут вводиться 7 - 10 строк таблицы, образец которой приведен в Вашем варианте индивидуального задания к лабораторной работе ╧2 и выводится на экран таблица -... https://www.cyberforum.ru/ c-beginners/ thread1614246.html
Сформировать упакованную структуру данных C (СИ)
Добрый день! Друзья, помогите, пожалуйста, с лабораторными по С. Учусь на физика, в программировании вообще ничего не понимаю, а без этих лаб зачета не получить. Заранее благодарю! Очень поможете 1) Составить две программы, первая из которых вводит составные части структуры данных, приведенной в Вашем варианте индивидуального задания, и формирует из них заданную упакованную структуру. Вторая...
C (СИ) Превышение времени. Разложение на простые множители https://www.cyberforum.ru/ c-beginners/ thread1614131.html
Помогите сократить время до 0.076 мс а то у меня 2.9 с Разложение на простые множители Разложить число на простые множители. _________________________________________________________________________ На входе Одна строка, содержащая целое число N в пределах 1 ≤ N ≤ 10^9(в степени 9). _________________________________________________________________________ На выходе...
C (СИ) Определить длину последнего палиндрома из текста https://www.cyberforum.ru/ c-beginners/ thread1614101.html
Здравствуйте. задача такова нужно написать программу, которая бы определяла длину последнего палиндрома текста, а если палиндромов в тексте нет, выдавала бы сообщение об ошибке вот мой код #include <locale.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> int main() {
C (СИ) Если в прямоугольной матрице А размера m*n меньше половины столбцов содержит отрицательные элементы
Помогите, пожалуйста, исправить ошибку в программе. 33, 37 и 39 строка. |33|error: invalid type argument of unary '*' (have 'int') #include <stdio.h> #include <stdlib.h> #include <windows.h> int main(void) { SetConsoleCP(1251); SetConsoleOutputCP(1251); int i,j,m,n;
C (СИ) Вывести на экран все слова строки в столбец https://www.cyberforum.ru/ c-beginners/ thread1613951.html
Задана строка символов в которой слова отделяются друг от друга одним или проьелами. Вывести на экран все слова этой строки в столбец. Разбить исходную строку на две подстроки, причём первая длиной k символов(если на k-ю позицию попадает слово, то его слелует отнести ко второй строке).
C (СИ) QSort - произвести сортировку вещественных чисел с плавающей точкой https://www.cyberforum.ru/ c-beginners/ thread1613923.html
Здравствуйте. Подскажите пожалуйста а функция qsort работает только с целочисленными значениями или можно все таки произвести сортировку и вещественных чисел с плавающей точкой?
C (СИ) Заполнение матрицы по спирали
Недавно преподаватель дал дополнительное задание, которое называется спираль и попросил его сделать. подойдя с вопросом что именно там должно быть, я получил ответ, что все описано в документе... В документе я нашел только это))) 1.Spiral 1 1 1 1 m x n , max n&m 20 in use 0...9 and A...Z 4 5 5 2 4 7 6 2 ...
C (СИ) Определить номера позиций символа в предложении https://www.cyberforum.ru/ c-beginners/ thread1613873.html
Я сделал int main() { setlocale(LC_AL
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
15.12.2015, 18:37 0

Отсортировать список по возрастанию, а затем сформировать новый список - C (СИ) - Ответ 8493769

15.12.2015, 18:37. Показов 2237. Ответов 1
Метки (Все метки)

Ответ

C
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
 
struct item {
    struct item* next;
    struct item* prev;
    int data;
};  
 
typedef struct list {
    struct item* head;
    struct item* tail;
} list_t;
 
void list_init(list_t* lst);
int  list_add(list_t* lst, int data);
void list_clear(list_t* lst);
void list_swap(list_t* lst, struct item* p1, struct item* p2);
 
//сортировка выбором
void list_sort(list_t* lst){
    struct item* p, *k, *i;
    for(p = lst->head; p != NULL; p = p->next){
        k = p;
        for(i = p->next; i != NULL; i = i->next){
            if(i->data < k->data)
                k = i;
        }
        if(k != p){
            list_swap(lst, k, p);
            p = k;
        }
    }
}
 
int main(void){
    int    i;
    const struct item* p;
    list_t lst;
    list_init(&lst);
    
    for(i = 0; i < 20; ++i)
        list_add(&lst, rand() % 10);
 
    for(p = lst.head; p != NULL; p = p->next)
        printf("%d ", p->data);
    putchar('\n');
    for(p = lst.tail; p != NULL; p = p->prev)
        printf("%d ", p->data);
    puts("\n\n");
    
    list_sort(&lst);
 
    //вывод после сортировки
    for(p = lst.head; p != NULL; p = p->next)
        printf("%d ", p->data);
    putchar('\n');
    for(p = lst.tail; p != NULL; p = p->prev)
        printf("%d ", p->data);
    putchar('\n');
    list_clear(&lst);
    return 0;
}
 
//инициализация
void list_init(list_t* lst){
    lst->head = lst->tail = NULL;
}
 
//добавление в конец списка
int list_add(list_t* lst, int data){
    struct item* p = (struct item*)malloc(sizeof(struct item));
    if(p != NULL){
        p->data = data;
        p->next = p->prev = NULL;
        if(lst->head == NULL)
            lst->head = lst->tail = p;
        else {
            p->prev   = lst->tail;
            lst->tail->next = p;
            lst->tail = p;
        }
    }
    return (p != NULL);
}
 
//удаление всех
void list_clear(list_t* lst){
    struct item* t;
    while(lst->head != NULL){
        t = lst->head;
        lst->head = lst->head->next;
        free(t);
    }
    lst->tail = NULL;
}
 
// обмен
void list_swap(list_t* lst, struct item* p1, struct item* p2){
    struct item* r1, *r2, *t1, *t2;
    r1 = p1->prev; 
    r2 = p2->prev;
 
    if(r1 != NULL) r1->next = p2;
    p2->prev = r1;
 
    if(r2 != NULL) r2->next = p1;
    p1->prev = r2;
 
    t1 = p1->next;
    t2 = p2->next;
                
    p1->next = p2->next;
    if(t2 != NULL) t2->prev = p1;
 
    p2->next = t1;
    if(t1 != NULL) t1->prev = p2;
 
    if(lst->head == p1)
        lst->head = p2;
    else if(lst->head == p2)
        lst->head = p1;
 
    if(lst->tail == p1)
        lst->tail = p2;
    else if(lst->tail == p2)
        lst->tail = p1;
}
Пример работы кода

Вернуться к обсуждению:
Отсортировать список по возрастанию, а затем сформировать новый список C (СИ)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2015, 18:37
Готовые ответы и решения:

Отсортировать список в алфавитном порядке по фамилии, а затем по возрастанию года рождения
В текстовом файле содержатся записи о студентах. Для каждого студента известны его фамилия, имя,...

Отсортировать список по возрастанию и сформировать два новых списка
Дан список, содержащий числовые данные. Отсортировать его по возрастанию и сформировать два новых...

Отсортировать список и сформировать новый, состоящий из порядковых номеров его четных элементов
Дан список с элементами целого типа. Отсортировать его по возрастанию, а затем сформировать новый...

Сформировать список из вещественных чисел. Упорядочить список по возрастанию.
решить через односвязные списки..=( Сформировать список из вещественных чисел. Упорядочить...

1
15.12.2015, 18:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2015, 18:37
Помогаю со студенческими работами здесь

Сформировать новый линейный список однонаправленный список, содержащий только нечетные элементы
Даны 2 линейных однонаправленных списка с элементами целого типа. Количество элементов и их...

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

Составить алгоритм и программу, которая вначале выводит список всех отличников, затем список хорошистов, троечников, а затем двоечников в ячейки листа
Имеется список группы и оценка каждого студента на экзамене. Составить алгоритм и программу,...

Отсортировать список по возрастанию
Здравствуйте! Помогите, пожалуйста, отсортировать список(причем в двоичном коде из файла) по...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru