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

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

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

Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел C++
Составить программу для решения задачи с целыми числами при помощи циклов C++
C++ В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами.
C++ Составить программу печати всех циклов ориентированного графа
№1 Написать программу, вычисляющую выражение с использованием циклов C++
№2 Написать программу, вычисляющую выражение с использованием циклов C++
C++ №3 Написать программу, вычисляющую выражение с использованием циклов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5656 / 3135 / 356
Регистрация: 29.11.2010
Сообщений: 8,399
17.10.2013, 17:49     Конкурс! Написать программу из десяти циклов. #21
SatanaXIII, и в чем противоречие? Могу упростить до ровно 10 циклов. Вы это хотели? Или 10 вложенных друг в друга?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,186
17.10.2013, 17:54     Конкурс! Написать программу из десяти циклов. #22
Только 10 циклов(последовательно или вложенных или любая их комбинация). Все операторы ВНУТРИ циклов. Функция main() не возвращает значение. Ну, как я понял.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5656 / 3135 / 356
Регистрация: 29.11.2010
Сообщений: 8,399
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
}
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
17.10.2013, 18:17     Конкурс! Написать программу из десяти циклов. #24
Цитата Сообщение от MrGluck Посмотреть сообщение
Могу упростить до ровно 10 циклов. Вы это хотели? Или 10 вложенных друг в друга?
Ровно десять. Не больше, не меньше.

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



Цитата Сообщение от FiLF Посмотреть сообщение
Функция main() не возвращает значение.
Все она возвращает.
Raali
589 / 293 / 19
Регистрация: 06.07.2013
Сообщений: 966
Завершенные тесты: 1
17.10.2013, 18:20     Конкурс! Написать программу из десяти циклов. #25
Цитата Сообщение от FiLF Посмотреть сообщение
Функция main() не возвращает значение.
она должна возвращать значение, это необходимо если сторонний процесс запускает ваш, и хочет узнать результат выполнения всей программы
(например если записать какую то программу в pre или post-build event в той же MSVS - она откажется билдить проект если результат выполнения программы (return от main) меньше 0)
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5656 / 3135 / 356
Регистрация: 29.11.2010
Сообщений: 8,399
17.10.2013, 18:25     Конкурс! Написать программу из десяти циклов. #26

Не по теме:

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



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

Добавлено через 2 минуты
Мб стоит все-таки полностью исключить С++11 или хотя-бы л-функции, я ведь могу их и внутри цикла вставить.
Как насчет передачи параметров программе с консоли?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
17.10.2013, 18:30     Конкурс! Написать программу из десяти циклов. #27
Цитата Сообщение от MrGluck Посмотреть сообщение
Мб стоит все-таки полностью исключить С++11 или хотя-бы л-функции, я ведь могу их и внутри цикла вставить.
Да не, пусть будет можно. Но не приветствуется.
Цитата Сообщение от MrGluck Посмотреть сообщение
Как насчет передачи параметров программе с консоли?
Конечно. Не возбраняется.
ValeryS
Модератор
6410 / 4876 / 447
Регистрация: 14.02.2011
Сообщений: 16,170
17.10.2013, 18:31     Конкурс! Написать программу из десяти циклов. #28
Цитата Сообщение от SatanaXIII Посмотреть сообщение
м-то таком. Если есть необходимость - пожалуйста, но упор на этом делать не стоит. Суть в том, кто сможет придумать наиболее мозговыносящую структуру из циклов. Связку, неожиданное использование.
могу предложить сумму элементов 10-и размерного массива
только зачем такой массив нужен, представить не могу
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,186
17.10.2013, 18:31     Конкурс! Написать программу из десяти циклов. #29
Цитата Сообщение от Raali Посмотреть сообщение
она должна возвращать значение, это необходимо если сторонний процесс запускает ваш, и хочет узнать результат выполнения всей программы
(например если записать какую то программу в pre или post-build event в той же MSVS - она откажется билдить проект если результат выполнения программы (return от main) меньше 0)
Я о том, что оператор return 0; в конце можно опустить. Или объявить main с типом возвращаемого значения void. А дела компилятора тут не при чём.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
17.10.2013, 18:40     Конкурс! Написать программу из десяти циклов. #30
Цитата Сообщение от ValeryS Посмотреть сообщение
могу предложить сумму элементов 10-и размерного массива
только зачем такой массив нужен, представить не могу
Ну я бы лично ради спортивного интереса даже с удовольствием поглядел.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
17.10.2013, 18:59     Конкурс! Написать программу из десяти циклов. #31
SatanaXIII,
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
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
 
enum { cell = 0, wall };
 
int main() {
    srand(time(NULL));
    bool running = true;
    bool keys[255] = { false };
    const int s = 20;
    int x = 0;
    int y = 0;
    
    int map[s][s] = { 0 };
    
    for(int i = 0; i < s; i++) {
        for(int j = 0; j < s; j++) {
            int val = rand() % 2;
            if(val == wall)
                val = rand() % 2;
            map[j][i] = val;
        }
    }
    
    while(running) {
        system("cls");
        for(int i = 0; i < s; i++) {
            for(int j = 0; j < s; j++) {
                if(j == x && i == y) {
                    std::cout << "@ ";
                    continue;
                }
                std::cout << (map[j][i] == cell ? "." : "#") << " ";
            }
            std::cout << std::endl;
        }
        
        while(!kbhit()) {
            for(int i = 0; i < 255; i++)
                keys[i] = false;
        }   
        
        keys[getch()] = true;
            
        for(int i = 0; i < 255; i++) {
            if(keys[i]) {
                int old_x = x;
                int old_y = y;
                if(i == 'w')
                    y--;
                if(i == 's')
                    y++;
                if(i == 'a')
                    x--;
                if(i == 'd')
                    x++;
                
                
                for(int k = 0; k < s; k++) {
                    for(int f = 0; f < s; f++) {
                        if(map[f][k] == wall && x == f && y == k) {
                            x = old_x;
                            y = old_y;
                        }
                            
                        if(x < 0 || x >= s - 1)
                            x = old_x;
                            
                        if(y < 0 || y >= s - 1)
                            y = old_y;
                    }
                }
            }
        }
    }
    
    return 0;
}
Простенькая игрушка в 10 циклов
ValeryS
Модератор
6410 / 4876 / 447
Регистрация: 14.02.2011
Сообщений: 16,170
17.10.2013, 19:06     Конкурс! Написать программу из десяти циклов. #32
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
#include "stdafx.h"
#include <conio.h> 
 
int arr[2][2][2][2][2][2][2][2][2][2]={
    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
};
 
int _tmain(int argc, _TCHAR* argv[])
{
for(int a=0;a<2;a++)
{
    for(int b=0;b<2;b++)
      for(int c=0;c<2;c++)
        for(int d=0;d<2;d++)
            for(int e=0;e<2;e++)
                for(int f=0;f<2;f++)
                    for( int g=0;g<2;g++)
                        for(int h=0;h<2;h++)
                            for(int i=0;i<2;i++)
                                for(int j=0;j<2;j++)
                                    arr[0][0][0][0][0][0][0][0][0][0]+=arr[a][b][c][d][e][f][g][h][i][j];
    
    
  if(a==1)
  {
      printf("summ=%d",arr[0][0][0][0][0][0][0][0][0][0]);
      getch();
      return 0;
  
  } 
}   
    
}
в первом элементе массива сумма
если не нравится инициализация массива можно вводить данные в цикле
размер взял поменьше чтобы не засорять экран

Добавлено через 58 секунд
coloc,
main должен быть чистым , весь код в циклах
coloc
17.10.2013, 19:15
  #33

Не по теме:

нашел тут интересную программу. Немножко не в тему, но посмотреть на ее результат будет интересно

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
# /* [  <!-- */ include  <stdio.h> /*   \
  #{\
`""""true \\#{"\n#"};           \
  \
if [ -n "$ZSH_VERSION" ]; then           \
  \
  echo exec  echo I\'m a zsh script.; \
  \
elif [ -n "$BASH_VERSION" ]; then        \
  \
  echo exec  echo I\'m a bash script.; \
else  \
  echo exec  echo  I\'m  a sh  script.;    \
fi`;  #\
BEGIN{print"I'm a ", 0 ? "Ruby"  :"Perl",  " program.\n";  exit; } 
  #\
%q~            
  
set dummy =0; puts[list "I'm"  "a"  "tcl"  "script."]; exit   
  
all: ; @echo "I'm a Makefile."          \
  #*/
/*: */ enum {a, b};            \
  \
static int c99(void) {         
  
#ifndef __cplusplus /* bah */        
  
unused1: if ((enum {b, a})0)          \
  (void)0;
#endif           
  
unused2:  return a;     \
}  \
static int trigraphs(void) {         \
  \
  return sizeof  "??!"  ==  2;    \
}  \
char X;               \
  \
int main(void) {             \
  \
  struct X  {        \
  \
     char  a[2];    \
  };\
  if (sizeof(X)  !=  1) {       \
  \
printf("I'm a C++ program (trigraphs %sabled).\n",         \
  \
   trigraphs()  ? "en"  : "dis");\
  \
}else if (1//**/2
 
 
)unused3 : { ; \
    printf("I'm a C program (C%s, trigraphs %sabled).\n", \
        c99() ? "89 with // comments" : "99", \
        trigraphs() ? "en" : "dis"); \
  } else { \
    printf("I'm a C program (C89, trigraphs %sabled).\n", \
        trigraphs() ? "en" : "dis"); \
  } \
  return 0; \
} /*
# \
> main :: IO () -- -- \
> main = putStr "I'm a Literate Haskell program.\n"
# \
]>++++++++[<+++++++++>-]<+.>>++++[<++++++++++>-]<-.[-]>++++++++++ \
[<+++++++++++>-]<-.>>++++[<++++++++>-]<.>>++++++++++[<++++++++++> \
-]<- - -.<.>+.->>++++++++++[<+++++++++++>-]<++++.<.>>>++++++++++[ \
<++++++++++>-]<+++++.<<<<+.->>>>- - -.<+++.- - -<++.- ->>>>>+++++ \
+++++[<+++++++++++>-]<- - -.<<<<<.<+++.>>>.<<<-.- ->>>>+.<.<.<<.> \
++++++++++++++.[-]++++++++++"""`
# \
print "I'm a Python program."; """[-][--><html><head>
<!--:--><title>I'm a HTML page</title></head><body>
<!--:--><h1>I'm a <marquee><blink>horrible HTML</blink></marquee> page</h1>
<!--:--><script language="Javascript">
<!--: # \
setTimeout( // \
  function () { // \
   document.body.innerHTML = "<h1>I'm a javascript-generated HTML page</h1>"; // \
  }, 10000); // \
//-->
</script><!--: \
</body></html><!-- } # \
say "I'm a Perl6 program", try { " ($?PUGS_VERSION)" } // "", "."; # """ # */
#define FOO ]-->~

SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
17.10.2013, 19:37     Конкурс! Написать программу из десяти циклов. #34
coloc, это с конкурса по самому запутанному коду. Я вот здесь ссылки приводил: Самый хитрый код (Несерьезная тема)
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5656 / 3135 / 356
Регистрация: 29.11.2010
Сообщений: 8,399
17.10.2013, 19:41     Конкурс! Написать программу из десяти циклов. #35
Вот с 10 циклами:
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <conio.h>
#define M 4
#define N 3
 
int main()
{
    // 1 loop
    for (int ch=-1, filled=0, calculated=0; ch != 0;)
    {
        int A[M][N], B[M][N], C[M][N]; // матрицы
        system("cls");
        std::cout << "What do you want?\n"
                     "1. Enter the matrices\n"
                     "2. Calculate the amount of matrices\n"
                     "0. Exit\n"
                     "You choise: ";
        std::cin >> ch;
 
        switch(ch)
        {
            case 1:
            {
                system("cls");
                std::cout << "Enter first matrix:\n";
                // 2 loop
                for (int i=0; i < M; i++)
                {
                    // 3 loop
                    for (int j=0; j < N; j++)
                        std::cin >> A[i][j];
                }
 
                std::cout << "\nEnter second matrix:\n";
                // 4 loop
                for (int i=0; i < M; i++)
                {
                    // 5 loop
                    for (int j=0; j < N; j++)
                        std::cin >> B[i][j];
                }
                filled = 1;
                break;
            }
 
            case 2:
            {
                if (!filled)
                {
                    std::cout << "You must fill matrices at first\n";
                    _getch();
                    break;
                }
                std::cout << "\nResult matrix:\n";
                // 6 loop
                for (int i=0; i < M; i++)
                {
                    // 7 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;
                }
                calculated = 1;
                _getch();
                break;
            } // end of case 2
 
            case 0:
            {
                if (calculated)
                {
                    char wch;
                    std::cout << "Would you like to write result in file? (y/n)\n";
                    // 8 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");
                        // 9 loop
                        for (int i=0; i < M; i++)
                        {
                            // 10 loop
                            for (int j=0; j < N; j++)
                                o << C[i][j] << " ";
                            o << std::endl;
                        }
                        o.close();
                    }
                }
                break;
            } // end of case 0
 
            default:
            {
                std::cout << "Incorrect value\a\n";
                _getch();
                break;
            }
        } // end of switch(ch)
    } // main loop
}
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
17.10.2013, 19:47     Конкурс! Написать программу из десяти циклов. #36
Ииии у нас наметился лидер! По крайней мере это единственная задача, удовлетворяющая условию.
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
18.10.2013, 11:59     Конкурс! Написать программу из десяти циклов. #37
SatanaXIII,
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
#include <stdio.h>
#include <math.h>
 
int main()
{
    for(bool exit = false; !exit; exit = true, putchar('\n'))
    {
        for(double a; !exit && scanf("%lf", &a) && a!=0; exit = true)
        {
            for(double b; !exit && scanf("%lf", &b); exit = true)
            {
                for(double c; !exit && scanf("%lf", &c); exit = true)
                {
                    for(char s; !exit && scanf("%*c%c", &s) && (a<0? a*=-1, b*=-1, c*=-1, s=(s=='<'? '>': s=='{'? '}': s=='='? '=': s=='}'?'{':s=='>'?'<':s): a); exit = true)
                    {
                        for(;!exit && s=='<' && ((b*b-4*a*c > 0)? printf("(%f; %f)", ((-b-sqrt(b*b-4*a*c))/(2*a)), ((-b+sqrt(b*b-4*a*c))/(2*a))): printf("{}")); exit = true);
                        for(;!exit && s=='{' && ((b*b-4*a*c > 0)? printf("[%f; %f]", ((-b-sqrt(b*b-4*a*c))/(2*a)), ((-b+sqrt(b*b-4*a*c))/(2*a))): (b*b-4*a*c == 0)? printf("{%lf}", -b/(2*a)): printf("{}")); exit = true);
                        for(;!exit && s=='=' && ((b*b-4*a*c > 0)? printf("{%lf; %lf}", ((-b-sqrt(b*b-4*a*c))/(2*a)), ((-b+sqrt(b*b-4*a*c))/(2*a))): (b*b-4*a*c == 0)? printf("{%lf}", -b/(2*a)): printf("{}")); exit = true);
                        for(;!exit && s=='}' && ((b*b-4*a*c > 0)? printf("(-inf; %lf]U[%lf; +inf)", ((-b-sqrt(b*b-4*a*c))/(2*a)), ((-b+sqrt(b*b-4*a*c))/(2*a))): printf("(-inf; +inf)")); exit = true);
                        for(;!exit && s=='>' && ((b*b-4*a*c > 0)? printf("(-inf; %lf)U(%lf; +inf)", ((-b-sqrt(b*b-4*a*c))/(2*a)), ((-b+sqrt(b*b-4*a*c))/(2*a))): (b*b-4*a*c == 0)? printf("(-inf; %lf)U(%lf; +inf)", -b/(2*a), -b/(2*a)): printf("(-inf; +inf)")); exit = true);
                    }
 
                }
            }
        }
    }
}
Вычисляет корни квадратного неравенства.

'}' — больше либо равно,
'{' — меньше либо равно.

Примеры

Код
$ ./10loops
-3
4
-5
{
(-inf; +inf)

$ ./10loops
1
-6
5
}
(-inf; 1.000000]U[5.000000; +inf)

$ ./10loops
-1
-2
8
>
(-4.000000; 2.000000)

$ ./10loops
-1
6
-5
<
(-inf; 1.000000)U(5.000000; +inf)

./10loops 
2
-9
4
=
{0.500000; 4.000000}
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
18.10.2013, 12:22     Конкурс! Написать программу из десяти циклов. #38
rublag, да, программа полностью подходит под условия. За исключением одной маленькой детали - я дольше открывал википедию, чтобы вспомнить, что такое квадратное неравенство, чем разгадывал хитросплетение циклов. Х) А так все хорошо.

И кстати, MrGluck, rublag, а где return-то? Был бы void main я бы еще понял. Но все равно не гоже.
Вот такой, к примеру, пример от меня (использовать в дальнейшем нельзя ), реализующий концепцию кромецикловой чистоты main, но читерски бессмысленнейшим образом использующий цикл:
C++
1
2
3
4
5
6
7
8
int main()
{
...
while(true)
  {
  return 0;
  }
}
Никакой компилятор не ругнется.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5656 / 3135 / 356
Регистрация: 29.11.2010
Сообщений: 8,399
18.10.2013, 13:10     Конкурс! Написать программу из десяти циклов. #39
Цитата Сообщение от SatanaXIII Посмотреть сообщение
И кстати, MrGluck, rublag, а где return-то? Был бы void main я бы еще понял. Но все равно не гоже.
Стыдно не знать
3.6.1 Main function
5. ... If control reaches the end
of main without encountering a return statement, the effect is that of executing
return 0;
И про void main там же
2. An implementation shall not predefine the main function. This function shall not be overloaded. It shall
have a return type of type int, but otherwise its type is implementation-defined. ...
Видимо кроме студии вы ничего не пробовали.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 13:23     Конкурс! Написать программу из десяти циклов.
Еще ссылки по теме:

C++ Написать программу с использованием циклов
В массиве определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами C++
C++ Составить и отладить программу с использованием вложенных циклов
Составить программу для нахождения первого элемента массива меньше десяти и его номера C++
Написать программу из циклов C++

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
18.10.2013, 13:23     Конкурс! Написать программу из десяти циклов. #40
MrGluck, просто я плохо запоминаю текст.
Цитата Сообщение от MrGluck Посмотреть сообщение
Видимо кроме студии вы ничего не пробовали.
Дааа. Студии.
Yandex
Объявления
18.10.2013, 13:23     Конкурс! Написать программу из десяти циклов.
Ответ Создать тему
Опции темы

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