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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2018, 18:13   #1
Panuchi
Новичок
Джуниор
 
Регистрация: 22.03.2018
Сообщений: 2
По умолчанию Вставить функцию

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

Помогите дописать условие.
Код:
#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;
};
void DelFirstK(struct EL_SP *p, unsigned k1)
{
    int i;
    for (i = 1; i <= k1; i++) {
        struct EL_SP *pt;
        pt = p;
        p = p->sled;
        pt->sled = p->sled;
        for (int i = 0; i < MAXDL; i++)
            pt->id[i] = p->id[i];
        p = pt;
    }
}
 
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);
}
 
int main(void)
{
    struct EL_SP *p;
    unsigned n;
    unsigned i;
    unsigned k;
    char t_id[MAXDL];
    printf("\nVvedite chislo identifikatorovn n=");
    scanf("%u", &n);
    getchar();
    p = NULL;
    printf("Vvedite identifikatory");
    printf("(posle kazhdogo nazhimajte klavishu <Enter>)\n");
    for (i = 1; i <= n; i++) {
        gets(t_id);
        Vkl(&p, t_id);
    }
    PechSp(p);
 
    printf("\nKakou ydalit?:\n");
    scanf("%d", &k);
 
    DelFirstK(p, k);
 
    printf("\nAfter clear:\n");
 
    PechSp(p);
    printf("\nDlja zavershenija nazhmite ljubuju klavishun");
        getch()
}
Panuchi вне форума Ответить с цитированием
Старый 22.03.2018, 18:14   #2
Panuchi
Новичок
Джуниор
 
Регистрация: 22.03.2018
Сообщений: 2
По умолчанию

Код:
int replase (struct EL_SP *p, int k, char* str) 
{
  struct EL_SP *pt;
  int i;
  pt = p;
  for(i = 0; i < k; i++)
  {
    if(pt->sled != NULL)
      pt = pt->sled;
    else {
      printf("..."); // превышение количества элементов списка
      return(-1);      
    }
  }
  strncpy(pt->id,str,MAXDL);
  return(0);
}
Примерно такой код добавить надо, но выдает кучу ошибок.
Panuchi вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После строк с максимальной суммой элементов вставить копию строки с минимальной суммой элементов . Реализовать функцию вычисления суммы строки Van1l Visual C++ 0 19.02.2018 13:09
Excel. Как правильно заполнить столбец "фотография"? Вставить картинку или использовать какую-либо функцию? Young_programmer Microsoft Office Excel 2 24.02.2017 16:05
вставить use в функцию goluzov PHP 2 03.06.2012 12:32
Надо вставить функцию в программу! C++ Tornado_1992 Помощь студентам 1 25.10.2011 20:50
Просто вставить процедуру или функцию. Лесная Эльфийка Помощь студентам 1 09.12.2010 12:04