![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.12.2013
Сообщений: 2
|
![]()
#include <iostream>
#include <clocale> #include <cmath> using namespace std; int main() { intmaxkol = 0, i, j, n; int P, sum = 0; int* a; cout<< "vvedite kol-vo chisel v massive" << endl; cin>> n; cout<< "vvedite chislo P" << endl; cin>> P; a = new int[n]; int* stackl; int* stackr; for (i = 1; i<= n; i++) { cout<< "vvedite " <<i<< " element massiva" << endl; cin>> a[i]; } stackl = new int[n]; stackr = new int[n]; intsp = 1; stackl[sp] = 0; stackr[sp] = n - 1; while (sp> 0) { int left = stackl[sp]; int right = stackr[sp]; sp--; while (left < right) { inti = left, j = right; int middle = a[(left + right) / 2]; while (i< j) { while (a[i] < middle) i++; while (middle < a[j]) j--; if (i<= j){ int temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; } } if (i< right) { sp++; stackl[sp] = i; stackr[sp] = right; } right = j; } } for (i = 1; i<= n; i++){ sum += a[i]; if (sum <= P) maxkol++; else break; } cout<< "maximalnoekol-vo chisel ne previshaucshee " << P << " ravno " <<maxkol<< endl; cout<< "etichisla:" << endl; for (i = 1; i<= maxkol; i++) cout << a[i] << endl; return 0; } Последний раз редактировалось Alterego202; 23.12.2013 в 14:06. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 23.12.2013
Сообщений: 2
|
![]()
#include <iostream>
#include <clocale> #include <cmath> using namespace std; int main() { intmaxkol = 0, i, j, n; int P, sum = 0; int* a; cout<< "vvedite kol-vo chisel v massive" << endl; cin>> n; cout<< "vvedite chislo P" << endl; cin>> P; a = new int[n]; int* stackl; int* stackr; for (i = 1; i<= n; i++) { cout<< "vvedite " <<i<< " element massiva" << endl; cin>> a[i]; } stackl = new int[n]; stackr = new int[n]; intsp = 1; stackl[sp] = 0; stackr[sp] = n - 1; while (sp> 0) { int left = stackl[sp]; int right = stackr[sp]; sp--; while (left < right) { inti = left, j = right; int middle = a[(left + right) / 2]; while (i< j) { while (a[i] < middle) i++; while (middle < a[j]) j--; if (i<= j){ int temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; } } if (i< right) { sp++; stackl[sp] = i; stackr[sp] = right; } right = j; } } for (i = 1; i<= n; i++){ sum += a[i]; if (sum <= P) maxkol++; else break; } cout<< "maximalnoekol-vo chisel ne previshaucshee " << P << " ravno " <<maxkol<< endl; cout<< "etichisla:" << endl; for (i = 1; i<= maxkol; i++) cout << a[i] << endl; return 0; }[/QUOTE] |
![]() |
![]() |
![]() |
#3 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
![]()
Пишите на b_a82@mail.ru
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите составить блок-схему. | Fil2010 | Помощь студентам | 1 | 21.06.2010 15:03 |
Помогите составить блок схему | Света2125 | Помощь студентам | 7 | 29.10.2009 17:07 |
Помогите пожалуйста решить две задачи по паскалю и составить и составить блок схему! | ...Оленька... | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 20.01.2009 09:37 |
помогите составить блок схему | ДЖО | Помощь студентам | 1 | 29.10.2008 02:20 |