Форум программистов, компьютерный форум, киберфорум
Наши страницы

Массив(чётные и нечётные числа) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача: преобразование систем счисления http://www.cyberforum.ru/cpp-beginners/thread654323.html
Описание Имеются 2 цифры в разных системах счисления, цель задачи найти, в каких системах счисления 2 цифры равны. Например, 12 и 5, в десятичной системе счисления они не равны, но 12 в 3-чной...
C++ Не могу скомпилировать программу на движке ODE Суть: имеется движок ODE v.0.12, имеется готовая программка, которая использует движок и генерирует случайные 3-мерные существа на открытом пространстве (грубо говоря). Проблема в том, что не... http://www.cyberforum.ru/cpp-beginners/thread654279.html
Целые числа по 20 символов C++
даны 2 строки в них нужно вписать целые числа размером в двадцать символов и затем сложить. при вводе пишу числа в ответ выводит к примеру 2.97429-307? #include <iostream> #include <conio.h>...
Сортировать массив по возрастанию методом выбора C++
Дан одномерный массив из n (n≤104) элементов a1,a2,…,an.( |ai|≤2×109). Сортировать по возрастанию методом выбора. Алгоритм сортировки оформить в виде ФУНКЦИИ!
C++ Нужно оптимизировать готовый код, чтобы не было стыдно показать http://www.cyberforum.ru/cpp-beginners/thread654252.html
Мне дали сделать задачку, чтобы проверить мои знания в ООП (я только 2 месяца назад начал изучать С++). И так, задача: Определить класс (или структуру данных при использовании процедурного...
C++ Функция scanf() //--------------------------------------------------------------------------- #include <vcl.h> #include <stdio.h> #include <conio.h> #pragma hdrstop ... подробнее

Показать сообщение отдельно
Micki
227 / 3 / 0
Регистрация: 01.04.2010
Сообщений: 145
24.09.2012, 21:18  [ТС]
Цитата Сообщение от BumerangSP Посмотреть сообщение
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <iomanip>
const int n = 5; //размер последовательности
int main()
{
 int i;
 int* a = new int [n];
 std::cout<<"Input "<<n<<" numbers: ";
 for (i=0;i<n;i++)
  std::cin>>a[i];
 std::cout<<'\n';
 for (i=0;i<n;i++)
  std::cout<<a[i]<<std::setw(4); 
 int m=0,k=0;
 int j=1;
 for (i=n-1;i>=-1;i--) //начинаем чтения массива с конца
  {
   if (i==0) //предотвращение ошибки чтения за границей массива (в начале)
    j=0;
   if ((a[i]>=a[i-j])&&(i>=0)) //сравнение
    k++;
   else
    if (k>0) //если нашли хоть что-то
    {
     if (k>m)
      {     
       m=k; //записываем
       if (i>0) //на случай, если послед-ть не на краях массива
        m++;
      }
     k=0;
    }
   }
 if (m==1) //в случаях, когда посл-ти вообще нет, может выйти 1, тоже исправляем
  m=0;
 std::cout<<std::endl<<"The longest: "<<m<<'\n';
 delete[] a; 
 system("pause");
 return 0;
}
а можешь на словах объяснить принцип этого алгоритма? К примеру: берётся последний элемент массива, сравнивается с предпоследним, если он меньше предпоследнего, то k увеличиваем на один...если к больше m, то k=m...т.ч мне не понятна переменная j
Цитата Сообщение от BumerangSP Посмотреть сообщение
int m=0,k=0;
int j=1;
for (i=n-1;i>=-1;i--) //начинаем чтения массива с конца
{
if (i==0)
j=0;
if ((a[i]>=a[i-j])&&(i>=0)) //сравнение
k++;
П.с: понимаю, что уже надоел вам, но хотелось бы до конца разобраться в поставленной задаче
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru