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

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

Войти
Регистрация
Восстановить пароль
 
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
#1

Цикл со смещением на 1 символ - C++

24.03.2010, 16:29. Просмотров 837. Ответов 6
Метки нет (Все метки)

Помогите со следующим заданием пожалуйста:

Написать программу, которая циклически выводит ФИО со смещением на один символ (бегущая строка):
Цикл со смещением на 1 символ

Использовать динамические структуры данных linked list

Язык только С
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 16:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл со смещением на 1 символ (C++):

Строка: Написать программу, которая циклически выводит ФИО со смещением на один символ - C++
Написать программу. Пользователь вводит строчку. Программы циклически выводит на экран со смещением на 1 символ эту строчку до тех пор,...

Почему цикл с условием EOF читает последний символ 2 раза? - C++
Данная программа читает двоичную строку и выводит длину самой продолжительной цепочки нулей. Почему мой цикл читает 2 раза последнее...

Как можно ввести с клавиатуры символ не прерывая цикл в программе - C++
Ввод символа. Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе. То есть, у меня...

Цикл: каждый символ символьного массива вывести на новой строке консоли - C++
Доброго всем здравия, споткнулся на ровном месте, цикл do while отказывается делать, то что я хочу char S = "gcfhgcf hdhgf 4754...

Почему если в консоли ввести вместо числа любой символ, программа впадает в бесконечный цикл? - C++
Всем привет! Недавно начал изучать С++ и столкнулся с проблемой при создании калькулятора. Если в консоли ввести вместо числа любой...

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_» - C++
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в...

6
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
25.03.2010, 14:42  [ТС] #2
Ну что неужели никого нет кто может помочь

Добавлено через 6 часов 42 минуты
Вот что-то подобное, но никак не могу разобраться помогите преобразовать

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
#include <stdio.h>
#include <stdlib.h>
 
/*
 * Структура Element предназначена для хранения значения
 * элемента связного списка и указателя на следующий элемент.
 */
struct SElement
{
    int value; // Значение элемента списка
    struct SElement* next; // Указатель на следующий элемент
} typedef Element;
 
/*
 * Структура LinkedList является реализацией односвязного
 * списка. Содержит указатели на первый и последний элементы
 * списка.
 */
struct
{
    Element* first; // Первый элемент списка
    Element* last; // Последний элемент списка
} typedef LinkedList;
 
// Создание списка
LinkedList* createLinkedList();
// Удаление списка (очистка памяти)
void deleteLinkedList(LinkedList* list);
// Добавление элемента конец списка
void add(LinkedList* list, int value);
// Задание элемента списка с индексом index
void set(LinkedList* list, int index, int value);
// Получение элемента списка по индексу index
int get(LinkedList* list, int index);
 
LinkedList* createLinkedList()
{
    LinkedList* list = malloc(sizeof(LinkedList));
    return list;
}
 
void deleteLinkedList(LinkedList* list)
{
    Element* element = list->first;
    while (element != NULL)
    {
        Element* next = element->next;
        free(element);
        element = next;
    }
}
 
void add(LinkedList* list, int value)
{
    Element* newElement = malloc(sizeof(Element));
    newElement->value = value;
    if (newElement)
    {
        if (list->first == NULL)
        {
            list->first = newElement;
            list->last = newElement;
        }
        else
        {
            list->last->next = newElement;
            list->last = newElement;
        }
    }
}
 
void set(LinkedList* list, int index, int value)
{
    Element* element = list->first;
    int i;
    for (i=0; i<index; i++)
    {
        element = element->next;
    }
    element->value = value;
}
 
int get(LinkedList* list, int index)
{
    Element* element = list->first;
    int i;
    for (i=0; i<index; i++)
    {
        element = element->next;
    }
    return element->value;
}
 
int main(void)
{
    LinkedList* list = createLinkedList();
    add(list, 131);
    add(list, 132);
    add(list, 133);
    add(list, 134);
    set(list, 1, 47);
    printf("list[1] = %d\n", get(list, 1));
    printf("list[3] = %d\n", get(list, 3));
    deleteLinkedList(list);
    fflush(stdout);
    return EXIT_SUCCESS;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
25.03.2010, 16:10 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
#define MAX_STR 64
 
int main(void){
    char str[MAX_STR] = "Vasya Pupkin ", buf[MAX_STR] = { 0 };
    int i, len;
    len = strlen(str);
    for ( i = 0; i < len; ++i ){
        strncpy(buf, str + i, len - i);
        buf[len - i] = 0;
        strncat(buf, str, i);
        buf[len] = 0;
        printf("%s\n", buf);
    }
    printf("%s\n", str);
    return 0;
}
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
25.03.2010, 16:23  [ТС] #4
А где тут Linked list? Надо ведь это сделать на его основе
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
25.03.2010, 16:35 #5
Цитата Сообщение от fantazer333 Посмотреть сообщение
А где тут Linked list?
Нету ни одного!
Цитата Сообщение от fantazer333 Посмотреть сообщение
Надо ведь это сделать на его основе
А так проще... Если задача была - изучить эти самые динамические связанные списки, то пример крайне неудачный.
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
25.03.2010, 16:39  [ТС] #6
А можете подсказать или показать более удачный пример с Linked list для этого задания?
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
25.03.2010, 16:57 #7
fantazer333, не знаю, на сколько удачный, но вот пример односвязного списка
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2010, 16:57
Привет! Вот еще темы с ответами:

Zip запаковка\распаковка данных со смещением - C++
Воспользовавшись программой Offset file unzipper 0.3.6a узнал что у файла смещение(hex offset) = 3, windowBits=15. Теперь нужно как то...

Переписать строки из одного файла во второй со смещением - C++
Задано натуральное число k, символьный файл g и текстовый файл f. Файл g содержит 30 слов, каждое из которых будем называть ключевым....

Разработать программу работы с деком, организованным в массиве с циклическим заполнением и смещением - C++
Разработать подпрограммы, которые обеспечивают запросы на запись или чтение данных из очереди, стека или дека. Для организации указанных...

Как вставить индекс после максимального элемента массива со смещением остальных элементов? - C++
После первого максимального (минимального) элемента массива вставьте его номер, передвинув все элементы массива, сле¬дующие за ним, вправо...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
25.03.2010, 16:57
Ответ Создать тему
Опции темы

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