Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 05.06.2013
Сообщений: 10
1

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

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

Author24 — интернет-сервис помощи студентам
Напишите плиз любую полезную программу на с++, из 10 циклов желательно,ато идея никак не приходит про что писать(((Заранее ОГРОМНОЕ СПАСИБО!!!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2013, 11:25
Ответы с готовыми решениями:

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

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

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

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

45
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 17:49 21
Author24 — интернет-сервис помощи студентам
SatanaXIII, и в чем противоречие? Могу упростить до ровно 10 циклов. Вы это хотели? Или 10 вложенных друг в друга?
0
54 / 54 / 37
Регистрация: 05.09.2013
Сообщений: 1,864
17.10.2013, 17:54 22
Только 10 циклов(последовательно или вложенных или любая их комбинация). Все операторы ВНУТРИ циклов. Функция main() не возвращает значение. Ну, как я понял.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
17.10.2013, 18:17 24
Цитата Сообщение от MrGluck Посмотреть сообщение
Могу упростить до ровно 10 циклов. Вы это хотели? Или 10 вложенных друг в друга?
Ровно десять. Не больше, не меньше.

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



Цитата Сообщение от FiLF Посмотреть сообщение
Функция main() не возвращает значение.
Все она возвращает.
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
17.10.2013, 18:20 25
Цитата Сообщение от FiLF Посмотреть сообщение
Функция main() не возвращает значение.
она должна возвращать значение, это необходимо если сторонний процесс запускает ваш, и хочет узнать результат выполнения всей программы
(например если записать какую то программу в pre или post-build event в той же MSVS - она откажется билдить проект если результат выполнения программы (return от main) меньше 0)
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 18:25 26

Не по теме:

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



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

Добавлено через 2 минуты
Мб стоит все-таки полностью исключить С++11 или хотя-бы л-функции, я ведь могу их и внутри цикла вставить.
Как насчет передачи параметров программе с консоли?
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
17.10.2013, 18:30 27
Цитата Сообщение от MrGluck Посмотреть сообщение
Мб стоит все-таки полностью исключить С++11 или хотя-бы л-функции, я ведь могу их и внутри цикла вставить.
Да не, пусть будет можно. Но не приветствуется.
Цитата Сообщение от MrGluck Посмотреть сообщение
Как насчет передачи параметров программе с консоли?
Конечно. Не возбраняется.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
17.10.2013, 18:31 28
Цитата Сообщение от SatanaXIII Посмотреть сообщение
м-то таком. Если есть необходимость - пожалуйста, но упор на этом делать не стоит. Суть в том, кто сможет придумать наиболее мозговыносящую структуру из циклов. Связку, неожиданное использование.
могу предложить сумму элементов 10-и размерного массива
только зачем такой массив нужен, представить не могу
0
54 / 54 / 37
Регистрация: 05.09.2013
Сообщений: 1,864
17.10.2013, 18:31 29
Цитата Сообщение от Raali Посмотреть сообщение
она должна возвращать значение, это необходимо если сторонний процесс запускает ваш, и хочет узнать результат выполнения всей программы
(например если записать какую то программу в pre или post-build event в той же MSVS - она откажется билдить проект если результат выполнения программы (return от main) меньше 0)
Я о том, что оператор return 0; в конце можно опустить. Или объявить main с типом возвращаемого значения void. А дела компилятора тут не при чём.
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
17.10.2013, 18:40 30
Цитата Сообщение от ValeryS Посмотреть сообщение
могу предложить сумму элементов 10-и размерного массива
только зачем такой массив нужен, представить не могу
Ну я бы лично ради спортивного интереса даже с удовольствием поглядел.
0
погромист
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
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 циклов
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
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 должен быть чистым , весь код в циклах
0
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 ]-->~

1
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
17.10.2013, 19:37 34
coloc, это с конкурса по самому запутанному коду. Я вот здесь ссылки приводил: Самый хитрый код (Несерьезная тема)
1
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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
}
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
17.10.2013, 19:47 36
Ииии у нас наметился лидер! По крайней мере это единственная задача, удовлетворяющая условию.
0
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 155
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}
1
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
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;
  }
}
Никакой компилятор не ругнется.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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. ...
Видимо кроме студии вы ничего не пробовали.
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
18.10.2013, 13:23 40
MrGluck, просто я плохо запоминаю текст.
Цитата Сообщение от MrGluck Посмотреть сообщение
Видимо кроме студии вы ничего не пробовали.
Дааа. Студии.
0
18.10.2013, 13:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 13:23
Помогаю со студенческими работами здесь

Конкурс для программистов - 3^n, димеры и статистика циклов
Предлагаю принять участие в моём новом конкурсе для программистов-математиков. На этот раз...

Написать программу для ввода десяти элементов
Народ выручайте. Написать программу в которой нужно ввести 10 чисел. Должен выводится min из этих...

Написать программу с использованием циклов на VB
В простую переменную последовательно вводятся н чисел. все ли числа меньше заданного числа к?...

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru