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

Оптимальное заполнение или "Халява" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ дата http://www.cyberforum.ru/cpp-beginners/thread435250.html
Ввести (с клавиатуры) дату в формате ДД.ММ,ГГГГ и вывести на экран дату следующего дня (используются операторы *Условия выбора и циклы*-по заданию) заранее спасибо очень тяжело Си дается
C++ Аварийное завершение... почему? Код рабочий, но если элементов больше 4, тогда программа аварийно завершает работу, почему? #include <iostream> using namespace std; string Read(string Mass, int size){for(int i=0;i<size;i++){cout<<">"<<Mass<<endl;}} int main() { //string List={"one","two","three","four","five"}; string List={"one","two","three","four"}; http://www.cyberforum.ru/cpp-beginners/thread435243.html
C++ Решение задачи
Как решить задачу: поменять местами второй четный со вторым нечетным в одномерном массиве
C++ Поиск k-ого наименьшего элемента
Друзья есть код на паскале, нужно переписать на с++. Это алгоритм поиска к-го наименьшего элемента. У меня получается криво, с ошибками. procedure Find(k: integer); var L,R,i,j: integer; w,x: integer; begin L:=1; R:=N; while L<R-1 do begin
C++ Замена слов в строке http://www.cyberforum.ru/cpp-beginners/thread435213.html
Добрый вечер. Помогите, пожалуйста советом или кодом: требуется полученную строку изменить так, чтобы первое и среднее слово поменялись местами. void f(char *s) { int len=strlen(s); int na4slovo1=0,konezslovo1=0,na4slovo2=0,konezslovo2=0,kolslov=0; for(int k=0;k<len;k++) { if(s==' ' && s!=' ') //нашли количество слов kolslov++;
C++ зеркальное отображение в С Дана задача сделать зеркальное отображение двумерного массива M*N Нужно поменять 1-ый с последним, 2-ой с предпоследним и т.д. подробнее

Показать сообщение отдельно
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.05.2012, 18:14     Оптимальное заполнение или "Халява"
Попробовал сделать без циклов и массивов, вроде работает:
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
int main() {
   std::size_t A = 0,
               B = 0,
               C = 100,
               k = 2,
               shirt = 0,
               cCount = k / 3,
               bCount = k / 2;
   
   if ( k == 1 ) {
      shirt = A + B + C;
      std::cout << shirt << std::endl;
      return 0;
   }
   
   if ( k == 2 ) {
      shirt = B + C + ( A / 2 );
      std::cout << shirt << std::endl;
      return 0;
   }
   
   if ( k % 3 == 0 ) {
      shirt += C / cCount;
      C -= ( C / cCount ) * cCount;
      
      if ( A >= B / bCount ) {
         shirt += B / bCount;
         A -= B / bCount;
         B -= ( B / bCount ) * bCount;
      } else {
         shirt = A;
         B -= A * bCount;
         A = 0;
      }
   } else if ( k % 2 == 0 ) {
      B += A / 2;
      A = ( A & 1 );
      shirt += B / bCount;
      B -= ( B / bCount ) * bCount;
      
      shirt += C / ( cCount + 1 );
      C -= C / ( cCount + 1 ) * cCount;
   }
   
   if ( A + B * 2 + C * 3 >= k )
      shirt++;
   
   std::cout << shirt << std::endl;
   
   return 0;
}
 
Текущее время: 08:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru