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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача: преобразование систем счисления http://www.cyberforum.ru/cpp-beginners/thread654323.html
Описание Имеются 2 цифры в разных системах счисления, цель задачи найти, в каких системах счисления 2 цифры равны. Например, 12 и 5, в десятичной системе счисления они не равны, но 12 в 3-чной системе счисления и 5 в 6-чной или десятичной системе счисления равны между собой. Input Вводятся два числа M и N ( которые в десятичной системе не превышают 1000000000), системы счисления...
C++ Не могу скомпилировать программу на движке ODE Суть: имеется движок ODE v.0.12, имеется готовая программка, которая использует движок и генерирует случайные 3-мерные существа на открытом пространстве (грубо говоря). Проблема в том, что не получается скомпилировать это всё дело без ошибок. Везде появляется одна и та же ошибка: "C:\***\ode-0.12\include\ode\common.h(111): fatal error C1189: #error : You must #define dSINGLE or dDOUBLE". ... http://www.cyberforum.ru/cpp-beginners/thread654279.html
Целые числа по 20 символов C++
даны 2 строки в них нужно вписать целые числа размером в двадцать символов и затем сложить. при вводе пишу числа в ответ выводит к примеру 2.97429-307? #include <iostream> #include <conio.h> #include <cstring> using namespace std; char x; char y; char z; int main ()
Сортировать массив по возрастанию методом выбора C++
Дан одномерный массив из n (n≤104) элементов a1,a2,…,an.( |ai|≤2×109). Сортировать по возрастанию методом выбора. Алгоритм сортировки оформить в виде ФУНКЦИИ!
C++ Нужно оптимизировать готовый код, чтобы не было стыдно показать http://www.cyberforum.ru/cpp-beginners/thread654252.html
Мне дали сделать задачку, чтобы проверить мои знания в ООП (я только 2 месяца назад начал изучать С++). И так, задача: Определить класс (или структуру данных при использовании процедурного подхода), описывающий покупку одного и того же штучного товара по одной и той же цене (в рублях) в течение одного месяца и содержащий сведения о дне покупки и количестве приобретенных единиц. Допускаются...
C++ Builder Поиск файлов по маске. Не видит TSearchRec Задание: необходимо создать папку, в которой 10 файлов (*.txt); организовать поиск файлов по маске. Что имею: #include <stdio.h> #include <iostream.h> #include <string.h> #include <fstream.h> #include <direct.h> //так как dir.h не пошла под NetBeans void FindFull(string dir, string mask) { подробнее

Показать сообщение отдельно
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.09.2012, 16:23     Массив(чётные и нечётные числа)
Кликните здесь для просмотра всего текста
Цитата Сообщение от Micki Посмотреть сообщение
вот в том-то и дело, что я не могу понять почему если последовательность не на краях массива нужно к m прибавлять 1...(
Это надо по шагам рассматривать. Вам опыт надо нарабатывать, чтобы понимать действия в коде.
Пример:
дано: 32123. Сравнение идет с конца, т.е. сначала сравниваем 3 и 2. Условие (a[i]>=a[i-j])&&(i>=0) выполняется, увеличиваем k, далее 2 и 1, опять увеличиваем. Итого k уже равно 2. Далее сравниваем 1 и 2, условие не выполняется, а это значит, что мы переходим сюда:
C++
1
2
3
4
5
6
7
8
9
10
11
else
    if (k>0)
    {
     if (k>m)
      {     
       m=k;
       if (i>0)
        m++;
      }
     k=0;
    }
Но получается, что последовательность у нас состоит из 3-х чисел, а k равно 2, притом мы еще не дошли до начала (еще число 3 не проверено, например, отсюда i=2, а a[i]=1 (индексация массива с нуля)) Поэтому мы прибавляем еще 1.
Другой пример: 1232. Сравниваем...В итоге при i=1 у нас k равно 2. Далее i будет = 0, но если мы сравним a[0] и a[0-j] при j=1 (a[i-1] не существует) в a[-1] содержится всякий мусор, поэтому сравнение с ним будет некорректным. Исправляет эту ситуацию вот это условие:
C++
1
2
 if (i==0)
    j=0;
Получается, что a[0] сравнивается с самим собой и нет необходимости прибавлять единицу к m, поэтому условие
C++
1
2
if (i>0) //на случай, если послед-ть не на краях массива
        m++;)
здесь является нецелесообразным.
Надеюсь, доступно объяснил.
 
Текущее время: 14:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru