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

Упорядочить 5 чисел за 7 операций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество слов, начинающихся на гласные буквы http://www.cyberforum.ru/cpp-beginners/thread229539.html
Очень прошу помочь с задачей. Наверно, она не сложная, но для меня легче курсовую по английскому написать, чем задачу по программированию( помогите, пожалуйста: Дана строка – предложение на русском языке, слова которого разделены одним или несколькими пробелами, могут использоваться знаки препинания точка и запятая. Найти количество слов, начинающихся на гласные буквы
C++ как вставить строки ..пожалуйстаа^^ 1.Дана матрица размера M х N и целое число K (1 <= K <= M). Перед строкой матрицы с номером K вставить 3 строки из 1. 2.Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся менее 2 раз, и вывести размер полученного массива и его содержимое. хоть убейте,элементарно после ввода-вывода матрицы застреваю на циклах,хоть и понимаю что именно нужно сделать и в какой... http://www.cyberforum.ru/cpp-beginners/thread229530.html
C++ Динамическое программирование. Таблица. Набор букв на мобильнике
Всем доброго времени суток! Очень очень нужна помощь в решении двух задач динамическим программированием: 1. Прямоугольная таблица имеет М строк и N столбцов. В каждой ее клетке записано натуральное число не больше 200. Нужно пройти из левого верхнего угла таблицы в правый нижний, на каждом шаге перемещаясь на 1 клетку вправо или вниз. Очевидно, таких путей много, и для каждого можно найти сумму...
Из заданной числовой последовательности выделить монотонно неубывающую подпоследовательность максимально возможной длины C++
Привет вам, умный народ! Вынужден обратиться к вам за помощью, ибо прижало! Проблема у меня с динамическим программированием, а большинству из вас это плевое дело) Из заданной числовой последовательности выделить монотонно неубывающую подпоследовательность максимально возможной длины. Если таких несколько, то из них нужно выбрать ту, у которой наибольшая сумма чисел. Вход-выход -...
C++ Графика(нарисовать паркет) http://www.cyberforum.ru/cpp-beginners/thread229498.html
Кто нибудь может скинуть графику на си или паскале, вида "паркет"
C++ Как смонтирована файловая система? Здравствуйте. Подскажите,пожалуйста, как в Solaris'e узнать как смонтирована файловая система? Я знаю,что можно использовать mount без аргументов, но тогда говорится,что такая команда не существует. подробнее

Показать сообщение отдельно
TonyKing
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
22.01.2011, 23:43  [ТС]     Упорядочить 5 чисел за 7 операций
Может пригодится кому.
Идеальность кода не была целью)

Код
#include <cstdlib>
#include <iostream>

using namespace std;

void swap(int a[], int f, int s) 
{
a[f]=a[f]+a[s];
a[s]=a[f]-a[s];
a[f]=a[f]-a[s];     
}

void show(int a[]) 
{
cout<<endl;
int i=0;
while(i<5) { cout<<a[i]<<" "; i++; }
cout<<endl<<endl;
}

void show2(int ar[], int a, int b, int c, int d, int e)
{
cout<<ar[a]<<" "<<ar[b]<<" "<<ar[c]<<" "<<ar[d]<<" "<<ar[e];     
}

int main(int argc, char *argv[])
{
int a[5];
srand(time(0));
int i=0;
while(i<5) { a[i]= rand()%100; i++; }

cout<<"Ishodnaya:\n";
show(a); 

if(a[0]>a[1]) swap(a,0,1);
if(a[2]>a[3]) swap(a,2,3);
if(a[0]>a[2]) { swap(a,0,2); swap(a,1,3); }

//------------------------------
cout<<"Perviy prohod:\n"; 
show(a);

cout<<"Resultat:\n";
 
if(a[2]>a[4])
{
  if(a[1]>a[2])
  {
    if(a[1]>a[3])
    {
       if(a[0]>a[4])
       show2(a,1,3,2,0,4);
       else
       show2(a,1,3,2,4,0);  
    }
    else
    {
       if(a[0]>a[4])
       show2(a,3,1,2,0,4);
       else
       show2(a,3,1,2,4,0); 
    }             
  }
  else 
  {
     if(a[4]>a[1])
     show2(a,3,2,4,1,0);          
     else
     {
       if(a[0]>a[4])
       show2(a,3,2,1,0,4);           
       else
       show2(a,3,2,1,4,0);     
     }         
  }
             
}
else 
{   
  if(a[3]>a[4])
  {
    if(a[1]>a[4])
    {
      if(a[1]>a[3])
      show2(a,1,3,4,2,0);            
      else
      show2(a,3,1,4,2,0);  
    }
    else
    {
      if(a[1]>a[2])
      show2(a,3,4,1,2,0);             
      else
      show2(a,3,4,2,1,0);   
    } 
  
  }
  else
  {
     if(a[1]>a[3])
     {
       if(a[1]>a[4])
       show2(a,1,4,3,2,0);       
       else
       show2(a,4,1,3,2,0);          
     }
     else
     {
       if(a[1]>a[2])
       show2(a,4,3,1,2,0);             
       else
       show2(a,4,3,2,1,0);  
     }    
  }

}



system("PAUSE");
return EXIT_SUCCESS;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru