Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 25
1

заменить на заданный идентификатор значение k -го по порядку элемента списка

04.06.2012, 22:16. Показов 1444. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема в том что после того как ввожу НА ЧТО надо заменить Выбранный идентификатор программа просто закрывается. Прошу помощи. Посмотрите на мой код свежим взглядом пожалуйста. Своих ошибок уже не нахожу.

Вот сама задача:

Дан список идентификаторов. Длина каждого идентификатора не более 8 символов. Идентификаторы в списке расположены в лексикографическом порядке. Составить функцию (подпрограмму) для следующей операции: заменить на заданный идентификатор значение k -го по порядку элемента списка.
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
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
 
#define MAXDL 9
 
struct EL_SP {
char id[MAXDL];
struct EL_SP *sled;
};
 
int replase(struct EL_SP *p, int k, char *str)
{
struct EL_SP *pt;
int i;
pt = p;
//pt->id[MAXDL-1]=0;
for (i = 0; i < k; i++) {
if (pt->sled != NULL)
pt = pt->sled;
 
 
else {
printf("..."); // ïðåâûøåíèå êîëè÷åñòâà ýëåìåíòîâ ñïèñêà
return (-1);
}
}
strncpy(pt->id, str, MAXDL);
return (0);
}
 
 
void Vkl(struct EL_SP **p, char t_id[])
{
struct EL_SP *pt, *k, *j;
pt = (struct EL_SP *) malloc(sizeof(struct EL_SP));
strcpy(pt->id, t_id);
if (*p == NULL || strcmp(pt->id, (*p)->id) < 0) {
pt->sled = *p;
*p = pt;
} else {
k = *p;
while (k != NULL && strcmp(pt->id, k->id) >= 0) {
j = k;
k = k->sled;
}
j->sled = pt;
pt->sled = k;
}
}
 
void PechSp(struct EL_SP *p)
{
struct EL_SP *i;
printf("\nRezyltat:\n");
for (i = p; i != NULL; i = i->sled)
puts(i->id);
}
 
void main(void)
{
struct EL_SP *p;
unsigned n;
unsigned i;
unsigned k;
char *r;
char t_id[MAXDL];
printf("\nVvedite chislo identifikatorov\n n=");
scanf("%U", &n);
getchar();
p = NULL;
printf("Vvedite identifikatory\n");
printf("(posle kazhdogo nazhimajte klavishu <Enter>)\n");
for (i = 1; i <= n; i++) {
gets(t_id);
Vkl(&p, t_id);
}
PechSp(p);
 
printf("\nKakou 3aMeHuTb?:\n");
scanf("%d", &k);
printf("\nHa 4TO 3aMeHuTb\n");
scanf("%d", &r);
 
replase(p, k, r);
 
printf("\nAfter clear:\n");
 
PechSp(p);
printf("\nDlja zavershenija nazhmite ljubuju klavishu\n");
getch();
free(p);
}
Добавлено через 1 час 4 минуты
помогите кто нибудь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 22:16
Ответы с готовыми решениями:

Заменить на заданный идентификатор значение: а) k-го по порядку элемента списка;
2. Заменить на заданный идентификатор значение: а) k-го по порядку элемента списка; Помогите...

Удалить из списка заданный идентификатор (первый по порядку, если таких в списке несколько)
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; ...

Номер первого по порядку нулевого элемента списка
Здравствуйте. Помогите плиз с задачкой. Составьте программу, отыскивающую номер первого по порядку...

в массиве А [n] отрицательные элементы заменить на значение максимального элемента, нули – на значение минимального элемента.
в массиве А отрицательные элементы заменить на значение максимального элемента, нули – на значение...

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

Разделить заданный список с помощью элемента на 2 списка
нужна прога которая сможет разделить заданный список с помощью элемента на 2 списка

После максимального элемента списка L вставить заданный элемент a.
1) После максимального элемента списка L вставить заданный элемент a. 2) Для заданного бинарного...

После максимального элемента списка L вставить заданный элемент a.
После максимального элемента списка L вставить заданный элемент a. Добавлено через 4 часа 7...

Получить b1,..,bn, где bi - это значение первого по порядку положительного элемента i-й строки
Даны натуральные числа n, целочисленная квадратная матрица порядка n. Получить b1, . . . ,bn, где...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru