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

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

Войти
Регистрация
Восстановить пароль
 
DIBAZOL
Сообщений: n/a
#1

Задача по кольцевым спискам - C++

01.11.2008, 15:24. Просмотров 972. Ответов 1
Метки нет (Все метки)

Необходимо решить задачу:
Составить программу, которая в кольцевой список из n элементов добавляет m новых элементов так, чтобы новый элемент вставлялся через k элементов кольца.
Причем задачу желательно решить с использованием динамических структур. Надеюсь на вашу помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2008, 15:24     Задача по кольцевым спискам
Посмотрите здесь:

C++ Очередь с кольцевым буфером
C++ задача по спискам.
C++ Непонятное задание по спискам
Литература по связаным спискам C++
C++ Скиньте литературу по спискам в C++
C++ Решение простых задач по массивам и спискам
C++ Разъяснить задание по спискам

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kosiak2
1 / 1 / 0
Регистрация: 11.11.2008
Сообщений: 5
12.11.2008, 22:31     Задача по кольцевым спискам #2
Код
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
struct element{
    int i;
    struct element* next;
} *start;
void ask(){}
void generate(int n){
    int i;
    struct element *t;
    t=(struct element*)malloc(sizeof(struct element));
    start=t;
    for (i=0; i<n; i++){
        t->i=rand();
        if (i<n-1){
            t->next=(struct element*)malloc(sizeof(struct element));
            t=t->next;
        }
    }
    t->next=start;
}
void print_list(){
    struct element *t;
    t=start;
    do{
        printf("%d->", t->i);
        t=t->next;
    }
    while (t!=start);
}
void insert(int m, int k){
    struct element *t, *in;
    int i, j;
    t=start;
    for (i=1; i<=m; i++){
        for (j=1; j<=k; j++){
            t=t->next;
        }
        in=(struct element*)malloc(sizeof(struct element));
        in->i=rand();
        in->next=t->next;
        t->next=in;
 
    }
}
void delete_list(){
    struct element *t, *p;
    t=start;
    while(t->next!=start)
    {
        p=t->next;
        t->next=t->next->next;
        delete p;
    }
    delete start;
}
int _tmain(int argc, _TCHAR* argv[])
{
    int m, n, k;
    printf("enter N:");
    scanf("%d", &n);
    generate(n);
    print_list();
    printf("enter M:");
    scanf("%d", &m);
    printf("enter K:");
    scanf("%d", &k);
    insert(m, k);
    print_list();
    getch();
    delete_list();
    return 0;
 
}
Yandex
Объявления
12.11.2008, 22:31     Задача по кольцевым спискам
Ответ Создать тему
Опции темы

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