|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.12.2011, 11:46 | #1 |
Регистрация: 01.12.2011
Сообщений: 3
|
Задача с одномерным массивом.
Дан одномерный массив.Выввести последовательность элементов, сумма которых будет простым числом.
Размерность небольшая - к примеру 7. Числа целые до 10. Проблема в том, что прога выводи только по 3 числа в последовательности а нужно выводить все. Например сегодня тестил программу: Размерность массива 7, заполнил такими элементами - 1,2,2,3,2,4,1 В итоге вывело несколько последовательностей эл-тов в сумме дающих 5,7. А должно было вывести: 1+1=2 1+2=3 1+2+2=5 1+2+2+3+2+1=11 1+2+2+3+4+1=13 2+2+3=7 2+3+2=7 2+3+2+1=11. Помогите пожалуйста сделать так, чтобы выводило все последовательности элементов. Вот листинг: #include <iostream.h> #include <conio.h> #include <stdlib.h> void main() { clrscr(); // zadaem massiv iz 15 slychainih chisel int M[100], d, n; cout<<"\n Vvedite razmernost n ="; cin>>n; for (d = 1; d <= n; d++) { cout <<"M["<<d<<"]="; cin >> M[d]; cout<<"\n"; } cout << endl; for (int i = 0; i <= n; i++) { for (int j = i + 1; j <= n; j++) { for (int k = j + 1; k <= n; k++) { int sum = M[i] + M[j] + M[k]; //opredelyaem prostaya li summa if (sum == 0 || sum == 1) cout << M[i] << " + " << M[j] << " + " << M[k] << " = " << sum << " - prostoe" << endl; else { for (int q = 2; q < sum; q++) { if (sum % q == 0) goto m; } cout << M[i] << " + " << M[j] << " + " << M[k] << " = " << sum << " - prostoe" << endl; m: } } } } getch(); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача с одномерным массивом. | Malyshka | Помощь студентам | 6 | 13.12.2010 00:23 |