Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Строка в стиле С Чем отличается строка в стиле классического С и С++? https://www.cyberforum.ru/ cpp-beginners/ thread268794.html C++ наследование
Задача : Базовый класс: class Shape2D { public: Shape2D(); virtual ~ Shape2D(); virtual float Area( )= 0; virtual float Perimeter() = 0; virtual void PrintMessage();
C++ Матрица 2.3) Дана квадратная матрица.Поменять последние элементы каждого столбца с элементами главной диагонали. https://www.cyberforum.ru/ cpp-beginners/ thread268778.html C++ строковый массив. сортировка и поиск в нем помгите с задачей, пожалуйста. даже не знаю, с чего начать дан одномерный массив, состоящий из произвольного количества слов, каждое из которых имеет одну или больше букв "О". Организовать его сортировку по возростанию способом обмена. Ключ сортировки - количество в слове букв "О". Вывести информацию о том, сколько слов в массиве имело только одну букву "О". Особенности: использовать... https://www.cyberforum.ru/ cpp-beginners/ thread268754.html
Системы искусственного интелекта C++
Помогите разобраться!Нужно написать программу на си#, которая ставит диагноз по истории болезни... даже не знаю с какой стороны подойти к этой задаче....
C++ Описание программы https://www.cyberforum.ru/ cpp-beginners/ thread268701.html
Помогите разобратся в программе... кто нибудь может написать описание к каждой строчке?? Вот текст программы: #include <stdio.h> #include <conio.h> int doska; int horizontal, vertical;
C++ чтение значения из реестра https://www.cyberforum.ru/ cpp-beginners/ thread268697.html
Подскажите пожалуйста в чем здесь ошибка? #include <stdio.h> #include <windows.h> #include <iostream.h> int main(int argc, char* argv) { HKEY rKey; DWORD Reget; DWORD RegetPath = sizeof;
Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом. C++
Дан файл, содержащий текст на русском языке, в котором встречаются некоторые 2 слова. определить сколько раз эти слова встречаются в тексте и сколько непосредственно друг за другом.
C++ Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы. Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержимое. https://www.cyberforum.ru/ cpp-beginners/ thread268692.html C++ Найти количество вхождений подстрок в строку Собственно, в input.txt лежит строка размером до 250 символов, в output.txt нужно найти количество вхождений в нее подстрок, а именно ">>->" и "<-<<". Вроде задача пустяковая, но разобраться не могу.. Пробовал делать strstr до тех пор, пока подстрока не перестанет встречаться(найденный фрагмент удалял), однако такой алгоритм не подошел, неверно находилось количество вхождений.. P.S. можно... https://www.cyberforum.ru/ cpp-beginners/ thread268686.html
Трехпутевая поразрядная быстрая сортировка C++
нужна помощь с написанием програмки на тему: Трехпутевая поразрядная быстрая сортировка заранее спасибо
C++ StringGrid - условия выбора Три месяца как стал программистом на С++ ... и тут уперся в вопрос. В СтрингГриде 4 столбца и 16 строк. При запуске программы выглядит все примерно так: ____1___2____3____4__ 1_____|____|____|4::1 | 2_____|____|____|4::2 | . 16____|____|____|4::16| https://www.cyberforum.ru/ cpp-beginners/ thread268662.html
34 / 34 / 9
Регистрация: 19.03.2010
Сообщений: 136
0

Не могу разобраться с отработкой циклов - C++ - Ответ 1512725

02.04.2011, 13:32. Показов 2928. Ответов 49
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Есть код:
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
108
109
110
111
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define SIZE1 21
#define SIZE2 60
 
using namespace std;
void print(char ar[][60]) {
    int i = 1;
    int j = 1;
    int a, leng = 5;
    ar[i][j] = 'X';
    char *ar1 = new char[100];
    char *ar2 = new char[100];
    char *ar3 = new char[100];
    char *ar4 = new char[100];
    char *ar5 = new char[100];
    char *ar6 = new char[100];
    char *ar7 = new char[100];
    char *ar8 = new char[100];
    char *ar9 = new char[100];
    char *ar10 = new char[100];
    char *ar11 = new char[100];
    char *ar12 = new char[100];
    char *ar13 = new char[100];
    char *ar14 = new char[100];
    char *ar15 = new char[100];
    char *ar16 = new char[100];
    char *ar17 = new char[100];
    char *ar18 = new char[100];
    char *ar19 = new char[100];
    char *ar20 = new char[100];
    char *str[20] = {ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, ar13, ar14, ar15, ar16, ar17, ar18, ar19, ar20};
    while (1 != 0) {
        for (int g = 0; g < SIZE1; g++)
            puts(ar[g]);
        a = getch();
        switch (a) {
            case 67:
                if ((j + 1) != SIZE2 - 2) {
                    ar[i][j + 1] = ar[i][j];
                    str[0] = &ar[i][j];
                    j++;
                } else {
                    ar[i][j - (SIZE2 - 4)] = ar[i][j];
                    str[0] = &ar[i][j];
                    j = j - (SIZE2 - 4);
                }
                break;
            case 66:
                if (i + 1 != SIZE1 - 1) {
                    ar[i + 1][j] = ar[i][j];
                    str[0] = &ar[i][j];
                    i++;
                } else {
                    ar[i - (SIZE1 - 3)][j] = ar[i][j];
                    str[0] = &ar[i][j];
                    i = i - (SIZE1 - 3);
                }
                break;
            case 65:
                if ((i - 1) != 0) {
                    ar[i - 1][j] = ar[i][j];
                    str[0] = &ar[i][j];
                    i--;
                } else {
                    ar[i + (SIZE1 - 3)][j] = ar[i][j];
                    str[0] = &ar[i][j];
                    i += SIZE1 - 3;
                }
                break;
            case 68:
                if ((j - 1) != 0) {
                    ar[i][j - 1] = ar[i][j];
                    str[0] = &ar[i][j];
                    j--;
                } else {
                    ar[i][j + (SIZE2 - 4)] = ar[i][j];
                    str[0] = &ar[i][j];
                    j += SIZE2 - 4;
                }
                break;
        }
         for (int v = leng+2; v > 0; v--)
            str[v] = str[v - 1];
        *str[leng+2] = ' ';
 
        system("cls");
        
    }
}
 
int main() {
    char ar[21][60];
 
    for (int i = 0; i < SIZE1; i++) {
        for (int j = 0; j < SIZE2; j++) {
            if (j == SIZE2 - 1)
                ar[i][j] = '\0';
            else {
                if ((i == 0) || (i == SIZE1 - 1) || (j == 0) || (j == SIZE2 - 2)) {
                    ar[i][j] = 'X';
                } else {
                    ar[i][j] = ' ';
                }
            }
        }
    }
    print(ar);
}
Блок мэйн создает и инициализирует Массив из строк размером SIZE1 на SIZE2, в функции принт создает массив указателей на наш массив строк, далее задается вечный цикл для отображения на экран нашего массива, к помощью оператора getch() мы задаем внесение изменение, в массив указателей мы заносим адрес измененной ячейки, цикл
C++
1
2
 for (int v = leng+2; v > 0; v--)
            str[v] = str[v - 1];
позволяет смещать адреса в массиве указателей, с помощью переменной leng мы задаем номер адреса в массиве указателей для возврата его в первоначальный вид. По логике вроде все "четко", но есть одно но, результат немного не тот, к примеру при leng =5 должен возвращаться в изначальный вид символ по адресу leng[4] который был изменен 5 витков цикла while назад, но увы этого не происходит...

Возможны некоторые ошибки в коде в плане синтаксиса, переделал вручную под винду с Линукса.
У самого уже мозг не варит 3 дня овыряюсь не могу ошибку найти, заранее спасибо.

Вернуться к обсуждению:
Не могу разобраться с отработкой циклов C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2011, 13:32
Готовые ответы и решения:

Не могу разобраться с отработкой рекурсивной функции
Доброго времени суток. Имеется функция находящая в первом массиве количество повторения второго...

Организация циклов, не могу разобраться
Используя операторы циклов, организовать необходимый поиск и вычисления. Тип результата...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива...

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала изучение js и пока...

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

Редирект с отработкой кода
У меня на странице выполняется код, если переменные существуют - выполняется вывод данных, если не...

Проблемма с отработкой ShellExecute
Привет всем. Есть такая проблемма. Я выбираю при помощи OpenDialog файл. Потом по ходу программы,...

Приветствую, не могу разобраться с кодом программы и не могу сделать .obj файл
.model tiny; нужно будет получить исполняемый файл формата СОМ .code org 100h start: mov ax,...

Не могу написать комментарии для функции поиска, не могу разобраться...
void __fastcall TForm1::FindDialog1Find(TObject *Sender) { int found, start, end; //...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru