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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Chetkach
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 10
#1

Конкурс! Написать программу из десяти циклов. - C++

17.10.2013, 11:25. Просмотров 1911. Ответов 45
Метки нет (Все метки)

Напишите плиз любую полезную программу на с++, из 10 циклов желательно,ато идея никак не приходит про что писать(((Заранее ОГРОМНОЕ СПАСИБО!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 11:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конкурс! Написать программу из десяти циклов. (C++):

Написать программу из циклов - C++
Условие: Вводится последовательность из n целых чисел. Определить количество элементов в наиболее длинной подпоследовательности подряд...

Написать программу с использованием циклов - C++
Вычислить сумму 12 членов рекуррентной последовательности(вложения) Для решения задачи описать рекурсивную функцию, а также составить...

№1 Написать программу, вычисляющую выражение с использованием циклов - C++
Написать программу, вычисляющую выражение с использованием циклов. Программа, которая: a. запрашивает какую из приведенных в...

№2 Написать программу, вычисляющую выражение с использованием циклов - C++
Написать программу, вычисляющую выражение с использованием циклов. Программа, которая: a. запрашивает какую из приведенных в...

№3 Написать программу, вычисляющую выражение с использованием циклов - C++
Написать программу, вычисляющую выражение с использованием циклов. Программа, которая: a. запрашивает какую из приведенных в...

Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел - C++
Ребят, выручайте) Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел: числа квадрат 1...

45
SatanaXIII
17.10.2013, 13:51     Конкурс! Написать программу из десяти циклов.
  #16

Не по теме:

FiLF, вы так считаете? А я было хотел предложить благодарность и кусок репутации лично от меня.

0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.10.2013, 14:30 #17
Цитата Сообщение от FiLF Посмотреть сообщение
Программа нахождения решений линейного диофантова уравнения с 10 неизвестными в конечной области методом полного перебора.
Тогда уж лучше решение линейного сравнения с 10-ю переменными в кольце вычетов по фиксированному модулю. Так хотя бы параметры цикла можно задать, не уходя в бесконечности.
0
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,385
17.10.2013, 14:40 #18
Цитата Сообщение от Thinker Посмотреть сообщение
Тогда уж лучше решение линейного сравнения с 10-ю переменными в кольце вычетов по фиксированному модулю. Так хотя бы параметры цикла можно задать, не уходя в бесконечности.
На мой взгляд моё сообщение "немного" проще осознать без привлечения дополнительной литературы, используются только термины общего курса высшей математики. А в бесконечности уходить незачем. Область выбирается конечная.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,594
17.10.2013, 17:40 #19
SatanaXIII, 22 цикла:
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <conio.h>
 
int main()
{
    int **A = NULL, **B = NULL, **C = NULL; // матрицы
    int M = 0, N = 0;                       // размеры матриц
    char ch;                                // выбор в главном меню
    // 1 loop
    do
    {
        system("cls");
        std::cout << "What do you want?\n"
                     "1. Enter the matrices\n"
                     "2. Read the matrices from file\n"
                     "3. Calculate the amount of matrices\n"
                     "0. Exit\n"
                     "You choise: ";
        std::cin >> ch;
 
        switch(ch - '0')
        {
            case 1:
            {
                system("cls");
                // 2 loop
                do
                {
                    std::cout << "Enter number of columns: ";
                    std::cin >> M;
                    if (M < 1)
                    {
                        std::cout << "Incorrect value\nNumber must be > 1\n\a";
                        _getch();
                    }
                } while (M < 1);
                // 3 loop
                do
                {
                    std::cout << "Enter number of rows: ";
                    std::cin >> N;
                    if (N < 1)
                    {
                        std::cout << "Incorrect value\nNumber must be > 1\n\a";
                        _getch();
                    }
                } while (N < 1);
 
                A = new int*[M];
                std::cout << "\nEnter first matrix:\n";
                // 4 loop
                for (int i=0; i < M; i++)
                {
                    A[i] = new int[N];
                    // 5 loop
                    for (int j=0; j < N; j++)
                        std::cin >> A[i][j];
                }
 
                B = new int*[M];
                std::cout << "\nEnter second matrix:\n";
                // 6 loop
                for (int i=0; i < M; i++)
                {
                    B[i] = new int[N];
                    // 7 loop
                    for (int j=0; j < N; j++)
                        std::cin >> B[i][j];
                }
 
                break;
            } // end of case 1
 
            case 2:
            {
                std::ifstream ifs("input.txt");
                if (!ifs)
                {
                    std::cout << "No such file\n";
                    _getch();
                }
                else
                {
                    ifs >> M >> N;
                    if (M < 1 || N < 1)
                    {
                        std::cout << "Invalid file\n\a";
                        ifs.close();
                        _getch();
                        break;
                    }
                    // 8 loop
                    A = new int*[M];
                    for (int i=0; i < M; i++)
                    {
                        A[i] = new int[N];
                        // 9 loop
                        for (int j=0; j < N && !ifs.eof(); j++)
                            ifs >> A[i][j];
                    }
                    // 10 loop
                    B = new int*[M];
                    for (int i=0; i < M; i++)
                    {
                        B[i] = new int[N];
                        // 11 loop
                        for (int j=0; j < N && !ifs.eof(); j++)
                            ifs >> B[i][j];
                    }
                    ifs.close();
                }
                break;
            } // end of case 2
 
            case 3:
            {
                if (M == 0 || N == 0)
                {
                    std::cout << "You must fill matrices at first\n";
                    _getch();
                    break;
                }
 
                system("cls");
                // выводим матрицы
                std::cout << "First matrix:\n";
                // 12 loop
                for (int i=0; i < M; i++)
                {
                    // 13 loop
                    for (int j=0; j < N; j++)
                        std::cout << A[i][j] << " ";
                    std::cout << std::endl;
                }
                std::cout << "\nSecond matrix:\n";
                // 14 loop
                for (int i=0; i < M; i++)
                {
                    // 15 loop
                    for (int j=0; j < N; j++)
                        std::cout << B[i][j] << " ";
                    std::cout << std::endl;
                }
 
                std::cout << "\nResult matrix:\n";
                C = new int*[M];
                // 16 loop
                for (int i=0; i < M; i++)
                {
                    C[i] = new int[N];
                    // 17 loop
                    for (int j=0; j < N; j++)
                    {
                        C[i][j] = A[i][j] + B[i][j];
                        std::cout << C[i][j] << " ";
                    }
                    std::cout << std::endl;
                }
                _getch();
                break;
            } // end of case 3
 
            case 0:
            {
                // 18 loop
                for (int i=0; i < M; i++)
                {
                    if (A[i]) delete[] A[i];
                    if (B[i]) delete[] B[i];
                }
                if (A) delete[] A;
                if (B) delete[] B;
 
                if (C)
                {
                    char wch;
                    std::cout <<
                        "Would you like to write results in file? (y/n)\n";
                    // 19 loop
                    do
                    {
                        std::cin >> wch;
                        if (wch != 'y' && wch != 'n')
                            std::cout << "Error, expected 'y' or 'n'\n\a"
                                         "Try again: ";
                    } while (wch != 'y' && wch != 'n');
 
                    if (wch == 'y')
                    {
                        std::ofstream o("output.txt");
                        // 20 loop
                        for (int i=0; i < M; i++)
                        {
                            //21 loop
                            for (int j=0; j < N; j++)
                                o << C[i][j] << " ";
                            o << std::endl;
                        }
                        o.close();
                    }
 
                    // 22 loop
                    for (int i=0; i < M; i++)
                        delete[] C[i];
                    delete[] C;
                }
                break;
            } // end of case 0
 
            default:
            {
                std::cout << "Incorrect value\a\n";
                _getch();
                break;
            }
        } // end of switch(ch - '0')
    } while (ch != '0'); // main loop
}
Программа считает сумму матриц
0
SatanaXIII
Супер-модератор
Эксперт С++
5619 / 2654 / 247
Регистрация: 01.11.2011
Сообщений: 6,553
Завершенные тесты: 1
17.10.2013, 17:43 #20
Спасибо за участие, но код не удовлетворяет условиям.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,594
17.10.2013, 17:49 #21
SatanaXIII, и в чем противоречие? Могу упростить до ровно 10 циклов. Вы это хотели? Или 10 вложенных друг в друга?
0
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,385
17.10.2013, 17:54 #22
Только 10 циклов(последовательно или вложенных или любая их комбинация). Все операторы ВНУТРИ циклов. Функция main() не возвращает значение. Ну, как я понял.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,594
17.10.2013, 17:58 #23
Все внутри одного большого цикла:
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <conio.h>
 
int main()
{
    // 1 loop
    for (char ch='z'; ch != '0';)
    {
        int **A = NULL, **B = NULL, **C = NULL; // матрицы
        int M = 0, N = 0;                       // размеры матриц
        system("cls");
        std::cout << "What do you want?\n"
                     "1. Enter the matrices\n"
                     "2. Read the matrices from file\n"
                     "3. Calculate the amount of matrices\n"
                     "0. Exit\n"
                     "You choise: ";
        std::cin >> ch;
 
        switch(ch - '0')
        {
            case 1:
            {
                system("cls");
                // 2 loop
                do
                {
                    std::cout << "Enter number of columns: ";
                    std::cin >> M;
                    if (M < 1)
                    {
                        std::cout << "Incorrect value\nNumber must be > 1\n\a";
                        _getch();
                    }
                } while (M < 1);
                // 3 loop
                do
                {
                    std::cout << "Enter number of rows: ";
                    std::cin >> N;
                    if (N < 1)
                    {
                        std::cout << "Incorrect value\nNumber must be > 1\n\a";
                        _getch();
                    }
                } while (N < 1);
 
                A = new int*[M];
                std::cout << "\nEnter first matrix:\n";
                // 4 loop
                for (int i=0; i < M; i++)
                {
                    A[i] = new int[N];
                    // 5 loop
                    for (int j=0; j < N; j++)
                        std::cin >> A[i][j];
                }
 
                B = new int*[M];
                std::cout << "\nEnter second matrix:\n";
                // 6 loop
                for (int i=0; i < M; i++)
                {
                    B[i] = new int[N];
                    // 7 loop
                    for (int j=0; j < N; j++)
                        std::cin >> B[i][j];
                }
 
                break;
            } // end of case 1
 
            case 2:
            {
                std::ifstream ifs("input.txt");
                if (!ifs)
                {
                    std::cout << "No such file\n";
                    _getch();
                }
                else
                {
                    ifs >> M >> N;
                    if (M < 1 || N < 1)
                    {
                        std::cout << "Invalid file\n\a";
                        ifs.close();
                        _getch();
                        break;
                    }
                    // 8 loop
                    A = new int*[M];
                    for (int i=0; i < M; i++)
                    {
                        A[i] = new int[N];
                        // 9 loop
                        for (int j=0; j < N && !ifs.eof(); j++)
                            ifs >> A[i][j];
                    }
                    // 10 loop
                    B = new int*[M];
                    for (int i=0; i < M; i++)
                    {
                        B[i] = new int[N];
                        // 11 loop
                        for (int j=0; j < N && !ifs.eof(); j++)
                            ifs >> B[i][j];
                    }
                    ifs.close();
                }
                break;
            } // end of case 2
 
            case 3:
            {
                if (M == 0 || N == 0)
                {
                    std::cout << "You must fill matrices at first\n";
                    _getch();
                    break;
                }
 
                system("cls");
                // выводим матрицы
                std::cout << "First matrix:\n";
                // 12 loop
                for (int i=0; i < M; i++)
                {
                    // 13 loop
                    for (int j=0; j < N; j++)
                        std::cout << A[i][j] << " ";
                    std::cout << std::endl;
                }
                std::cout << "\nSecond matrix:\n";
                // 14 loop
                for (int i=0; i < M; i++)
                {
                    // 15 loop
                    for (int j=0; j < N; j++)
                        std::cout << B[i][j] << " ";
                    std::cout << std::endl;
                }
 
                std::cout << "\nResult matrix:\n";
                C = new int*[M];
                // 16 loop
                for (int i=0; i < M; i++)
                {
                    C[i] = new int[N];
                    // 17 loop
                    for (int j=0; j < N; j++)
                    {
                        C[i][j] = A[i][j] + B[i][j];
                        std::cout << C[i][j] << " ";
                    }
                    std::cout << std::endl;
                }
                _getch();
                break;
            } // end of case 3
 
            case 0:
            {
                // 18 loop
                for (int i=0; i < M; i++)
                {
                    if (A[i]) delete[] A[i];
                    if (B[i]) delete[] B[i];
                }
                if (A) delete[] A;
                if (B) delete[] B;
 
                if (C)
                {
                    char wch;
                    std::cout <<
                        "Would you like to write results in file? (y/n)\n";
                    // 19 loop
                    do
                    {
                        std::cin >> wch;
                        if (wch != 'y' && wch != 'n')
                            std::cout << "Error, expected 'y' or 'n'\n\a"
                                         "Try again: ";
                    } while (wch != 'y' && wch != 'n');
 
                    if (wch == 'y')
                    {
                        std::ofstream o("output.txt");
                        // 20 loop
                        for (int i=0; i < M; i++)
                        {
                            //21 loop
                            for (int j=0; j < N; j++)
                                o << C[i][j] << " ";
                            o << std::endl;
                        }
                        o.close();
                    }
 
                    // 22 loop
                    for (int i=0; i < M; i++)
                        delete[] C[i];
                    delete[] C;
                }
                break;
            } // end of case 0
 
            default:
            {
                std::cout << "Incorrect value\a\n";
                _getch();
                break;
            }
        } // end of switch(ch - '0')
    } // main loop
}
0
SatanaXIII
Супер-модератор
Эксперт С++
5619 / 2654 / 247
Регистрация: 01.11.2011
Сообщений: 6,553
Завершенные тесты: 1
17.10.2013, 18:17 #24
Цитата Сообщение от MrGluck Посмотреть сообщение
Могу упростить до ровно 10 циклов. Вы это хотели? Или 10 вложенных друг в друга?
Ровно десять. Не больше, не меньше.

 Комментарий модератора 
Смысл в том, чтобы как можно более запутанно использовать эти десять циклов. Сама же программа должна быть максимально простой. Не надо извращаться в каких-нибудь указателях на указатель на указатель, или лямбда функциях, или еще в чем-то таком. Если есть необходимость - пожалуйста, но упор на этом делать не стоит. Суть в том, кто сможет придумать наиболее мозговыносящую структуру из циклов. Связку, неожиданное использование. Не книжные знания применить - творчество. Любой новичек может почти на равных выступить.



Цитата Сообщение от FiLF Посмотреть сообщение
Функция main() не возвращает значение.
Все она возвращает.
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,068
Завершенные тесты: 1
17.10.2013, 18:20 #25
Цитата Сообщение от FiLF Посмотреть сообщение
Функция main() не возвращает значение.
она должна возвращать значение, это необходимо если сторонний процесс запускает ваш, и хочет узнать результат выполнения всей программы
(например если записать какую то программу в pre или post-build event в той же MSVS - она откажется билдить проект если результат выполнения программы (return от main) меньше 0)
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,594
17.10.2013, 18:25 #26

Не по теме:

У меня кстати в программе ошибка, она не рассчитана на повторный ввод матриц



Добавлено через 1 минуту
Теперь понял условия, сейчас погуляю со своей сучкой, как прийду - кастрирую прогу и выложу результат

Добавлено через 2 минуты
Мб стоит все-таки полностью исключить С++11 или хотя-бы л-функции, я ведь могу их и внутри цикла вставить.
Как насчет передачи параметров программе с консоли?
0
SatanaXIII
Супер-модератор
Эксперт С++
5619 / 2654 / 247
Регистрация: 01.11.2011
Сообщений: 6,553
Завершенные тесты: 1
17.10.2013, 18:30 #27
Цитата Сообщение от MrGluck Посмотреть сообщение
Мб стоит все-таки полностью исключить С++11 или хотя-бы л-функции, я ведь могу их и внутри цикла вставить.
Да не, пусть будет можно. Но не приветствуется.
Цитата Сообщение от MrGluck Посмотреть сообщение
Как насчет передачи параметров программе с консоли?
Конечно. Не возбраняется.
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,205
17.10.2013, 18:31 #28
Цитата Сообщение от SatanaXIII Посмотреть сообщение
м-то таком. Если есть необходимость - пожалуйста, но упор на этом делать не стоит. Суть в том, кто сможет придумать наиболее мозговыносящую структуру из циклов. Связку, неожиданное использование.
могу предложить сумму элементов 10-и размерного массива
только зачем такой массив нужен, представить не могу
0
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,385
17.10.2013, 18:31 #29
Цитата Сообщение от Raali Посмотреть сообщение
она должна возвращать значение, это необходимо если сторонний процесс запускает ваш, и хочет узнать результат выполнения всей программы
(например если записать какую то программу в pre или post-build event в той же MSVS - она откажется билдить проект если результат выполнения программы (return от main) меньше 0)
Я о том, что оператор return 0; в конце можно опустить. Или объявить main с типом возвращаемого значения void. А дела компилятора тут не при чём.
0
SatanaXIII
Супер-модератор
Эксперт С++
5619 / 2654 / 247
Регистрация: 01.11.2011
Сообщений: 6,553
Завершенные тесты: 1
17.10.2013, 18:40 #30
Цитата Сообщение от ValeryS Посмотреть сообщение
могу предложить сумму элементов 10-и размерного массива
только зачем такой массив нужен, представить не могу
Ну я бы лично ради спортивного интереса даже с удовольствием поглядел.
0
17.10.2013, 18:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2013, 18:40
Привет! Вот еще темы с ответами:

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

В массиве определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами - C++
В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами. ...

Создать программу для определения кол-ва набранных очков в десяти выстрелах в мишень - C++
Написал что то подобное, но в математике не очень то понимаю, поэтому прошу вас помочь написать какие будут уравнения и какие условия будут...

Составить программу для нахождения первого элемента массива меньше десяти и его номера - C++
3)Известен целочисленный массив x1,х2,х3,…,х10. Составить программу для нахождения первого элемента меньше десяти и его номера. Если такого...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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