Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ cout не работает https://www.cyberforum.ru/ cpp-beginners/ thread231509.html
Здравствуйте. Такая программа: // Prog.cpp: определяет точку входа для консольного приложения. // #define WINVER 0x501 #include "stdafx.h" #include <afxwin.h> #include <iostream> int main(...
в 9-00(мск) начнется экзамен, нужна будет небольшая п0мощь C++
должна быть несложная задачка, думаю , что не решу, скину сюда)
Алгоритм игры в Точки C++
Народ, выручайте. Очень нужен алгоритм игры в Точки. Я нашел вот эту страницу, читал несколько раз, ничего не понял: http://pointsgame.narod.ru/ Было бы хорошо если кто выложил на С или С++?
C++ Написать комментарии к программе Написать комментарии к программе по возможности как можно подробней!!! //--------------------------------------------------------------------------- #include <vcl.h> #include<iostream.h>... https://www.cyberforum.ru/ cpp-beginners/ thread231484.html
C++ Отладка программы https://www.cyberforum.ru/ cpp-beginners/ thread231462.html
Общая постановка. Пользовательский класс Х должен содержать необходимые элементы - данные, которые создаются в динамической области памяти, конструктор для их создания (операция new) и установки их...
Блок схемы. C++
Ребята, помогите нарисовать блок схемы или хотя бы чуток объяснить что откуда и куда....т.е. пояснить алгоритм написания.СПАСИБО!!! №1 Дан текст произвольной длины, оканчивающийся точкой с...
Простой Симплекс метод C++
Мне позарез нужны исходники на прямой симплекс-метод-ПОМОГИТЕ!!!!!!! Я нашел программу на паскале (((а мне нужно на С \ С + +. Облазил кучу форумов и не нашел.PROGRAM SIMPLEX_METOD; USES CRT;...
C++ Чтение Djvu формата Здраствуйте, у меня такой вопрос, как открывать Djvu? https://www.cyberforum.ru/ cpp-beginners/ thread231442.html
C++ Удаление пар цифр из числа. https://www.cyberforum.ru/ cpp-beginners/ thread231425.html
Задача написать функцию, которая будет удалять из целого числа рядом стоящие цифры, если их сумма равна 5. Например из числа 23450333 останется 4333. Не использовать массивы. Я пока додумался как...
C++ двумерный массив.указатели. срочно Дана матрица целых чисел. Собрать все нулевые элементы выше главной диагонали (заполнение осуществлять параллельно главной диагонали). нужно переделать эту программу (сделать при помощи указателей).... https://www.cyberforum.ru/ cpp-beginners/ thread231424.html
Эксперт С++
3206 / 1733 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
20.01.2011, 13:22 0

Найти отрезок массива-палиндром, в котором первое число равно последнему, второе предпоследнему и т.д.

20.01.2011, 13:22. Просмотров 2042. Ответов 6
Метки (Все метки)

Ответ

Да, ежели попроще, то еще вот так можно:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//////////////////////////////////////////////////////////////////////////////////////
//Перевертыши. Дан числовой массив А[1...n]. Найти отрезок массива максимальной длины, 
//в котором первое число равно последнему, второе предпоследнему и т.д. 
//Определить длину и вывести элементы найденного отрезка на экран. на борланде
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////////
typedef int                 T_num;
typedef std::vector<T_num>  T_nums;
//////////////////////////////////////////////////////////////////////////////////////
bool  is_palindrom(const T_nums&  nums)
{
    return  std::equal(nums.begin(), nums.end(), nums.rbegin());
}
//////////////////////////////////////////////////////////////////////////////////////
void  print_max_palindrom(const T_nums&  nums)
{
    T_nums  max_palindrom;
    for(size_t  i = 0; i < nums.size(); ++i)
    {        
        for(size_t  j = nums.size() - 1; j > i + max_palindrom.size(); --j)
        {            
            T_nums  subvect_cur(nums.begin() + i, nums.begin() + j);
            if(is_palindrom(subvect_cur))               
            {
                max_palindrom = subvect_cur;
            }        
        }    
    }
    
    std::cout << "Максимальный палиндром длиной "
              << max_palindrom.size()
              << " имеет вид: "
              << std::endl;
 
    std::copy(max_palindrom.begin(), max_palindrom.end(), 
              std::ostream_iterator<T_nums::value_type>(std::cout, "\t"));    
    
    std::cout << std::endl;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    srand(static_cast<unsigned>(time(0)));  
    const int VECT_SIZE = 30;
    struct  T_gen_with_mod
    {
        const T_num MOD_;
        //-----------------------------------------------------------------------------
        T_gen_with_mod(T_num mod) : MOD_(mod)
        {}
        //-----------------------------------------------------------------------------
        T_num  operator() ()
        {
            return  rand() % MOD_;
        }
    };
 
    T_nums  nums;
    std::generate_n(std::back_inserter(nums), VECT_SIZE, T_gen_with_mod(VECT_SIZE));
 
    std::copy(nums.begin(), nums.end(), 
              std::ostream_iterator<T_nums::value_type>(std::cout, "\t"));
 
    print_max_palindrom(nums);    
}


Вернуться к обсуждению:
Найти отрезок массива-палиндром, в котором первое число равно последнему, второе предпоследнему и т.д.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2011, 13:22
Готовые ответы и решения:

Найдите отрезок массива, в котором первое число равно последнему, второе - предпоследнему и так далее
Задание: Задан числовой массив A(M). Найдите отрезок массива, в котором первое число равно...

В массиве найти отрезок максимальной длины, в котором первое число равно последнему, второе - предпоследнему и т.д. Напечатать характеристики этого от
Помогите ребят!!!!препод задачи задачи для аттестации,сделал фактически все,кроме этой: &quot;В массиве...

Найти отрезок массива максимальной длины, в котором первое число равно последнему, второе предпоследнему и т.д.
Задан числовой массив A. Найти отрезок массива максимальной длины, в котором первое число равно...

Найдите отрезок максимальной длины, в котором первое число равно последнему, второе — предпоследнему
Задан числовой массив длины N . Найдите отрезок максимальной длины, в котором первое число равно...

6
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.