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

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

Восстановить пароль Регистрация
 
fantazer333
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 47
24.03.2010, 16:29     Цикл со смещением на 1 символ #1
Помогите со следующим заданием пожалуйста:

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

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

Язык только С
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 16:29     Цикл со смещением на 1 символ
Посмотрите здесь:

Сформировать список символов, оканчивающийся точкой. Заменить в списке символ “A” на символ “0” C++
C++ Как вставить индекс после максимального элемента массива со смещением остальных элементов?
Строка: Написать программу, которая циклически выводит ФИО со смещением на один символ C++
C++ Это эта задача? (Поменять подряд заданный символ на другой символ.)
C++ Переписать строки из одного файла во второй со смещением
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fantazer333
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 47
25.03.2010, 14:42  [ТС]     Цикл со смещением на 1 символ #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;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.03.2010, 16:10     Цикл со смещением на 1 символ #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;
}
fantazer333
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 47
25.03.2010, 16:23  [ТС]     Цикл со смещением на 1 символ #4
А где тут Linked list? Надо ведь это сделать на его основе
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.03.2010, 16:35     Цикл со смещением на 1 символ #5
Цитата Сообщение от fantazer333 Посмотреть сообщение
А где тут Linked list?
Нету ни одного!
Цитата Сообщение от fantazer333 Посмотреть сообщение
Надо ведь это сделать на его основе
А так проще... Если задача была - изучить эти самые динамические связанные списки, то пример крайне неудачный.
fantazer333
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 47
25.03.2010, 16:39  [ТС]     Цикл со смещением на 1 символ #6
А можете подсказать или показать более удачный пример с Linked list для этого задания?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2010, 16:57     Цикл со смещением на 1 символ
Еще ссылки по теме:

C++ Почему цикл с условием EOF читает последний символ 2 раза?
Как можно ввести с клавиатуры символ не прерывая цикл в программе C++
Zip запаковка\распаковка данных со смещением C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.03.2010, 16:57     Цикл со смещением на 1 символ #7
fantazer333, не знаю, на сколько удачный, но вот пример односвязного списка
Yandex
Объявления
25.03.2010, 16:57     Цикл со смещением на 1 символ
Ответ Создать тему
Опции темы

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