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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции со строковым параметром http://www.cyberforum.ru/cpp-beginners/thread1660230.html
Здравствуйте. Никак не могу понять, для чего нужен string::size_type, size_t и прочее. Почему строковую функцию надо определять как string::size_type func (const string)? Как с помощью функции такого типа перевести все элементы строки в нижний регистр? Объясните в общем про эти типы, пожалуйста, иначе голова лопнет.
C++ Переставить в обратном порядке элементы массива Задан одномерный массив из 15 элементов. Переставить в обратном порядке: элементы расположены между максимальным и минимальным элементами, включая их. Не могу понять как поставить в обратном порядке элементы . Пожалуйста помогите. #include <iostream> #include <math.h> #include < time.h > using namespace std; void main() { setlocale(LC_ALL, "Russian"); srand(time(NULL)); http://www.cyberforum.ru/cpp-beginners/thread1660177.html
MatLab функция randn в С++ C++
Доброго всем здравия, возник вот такой вопрос - как можно реализовать matlab функцию randn на языке C++. Например - randn(n). Заранее спасибо за внимание
Вложенные циклы в рекурсию C++
Подскажите, пожалуйста, как реализовать этот код рекурсивно (он на C#, но мне не важно C++ или C#) for(int a = 0; a < 4; ++a) for (int b = a + 1; b < 5; ++b) for(int c = b + 1; c < 6; ++c) for(int d = c + 1; d < 7; ++d) for (int i = d + 1; i < 8; ++i) { ...
C++ Найти значение максимального элемента среди парных по значению элементов, расположенных до первого непарного http://www.cyberforum.ru/cpp-beginners/thread1660115.html
2)Есть одномерный массив целых чисел размером N.Найти значение максимального элемента среди парных(по значению) элементов, расположенных до первого непарного элемента.
C++ Взаимодействие между двумя программами Здравствуйте! Буду рад если кто сможет подсказать) Есть 2 программы. Одна написана на с#, другая на с++ mfc. Нужна наладить между ними взаимодействие, например чтобы из программы написанной на c# я мог отправить некие данные в программу на c++ mfc, ну и соответственно в обратку. Пока в голову приходит только 3 варианта: 1. Обмениваться данными через текстовый файл 2. Обмениваться данными... подробнее

Показать сообщение отдельно
Mister X
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 27
11.02.2016, 19:24     Найдите отрезок массива, в котором первое число равно последнему, второе - предпоследнему и так далее
Задание:
Задан числовой массив A(M). Найдите отрезок массива, в котором первое число равно последнему, второе - предпоследнему и так далее. Напечатайте длину максимального отрезка (отрезки могут пересекаться).
Формат входных данных. [M] [1-й элемент массива A] [2-й элемент массива A] и т.д. Элементы массива – целые числа в диапазоне ±1000. M - целое число в диапазоне [2, 20].
Формат выходных данных. [длина отрезка], если такого отрезка нет, то напечатать сообщение Нет такого отрезка.

Вот такой код, но не пойму как удаление делать и эту сортировку

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
72
73
74
75
76
77
78
#include "stdafx.h" 
#include <math.h> 
#include <conio.h> 
#include <iostream> 
 
using namespace std; 
 
int main() 
{ 
 
setlocale(LC_ALL, "Russian"); 
 
int mass[20];// массив 
int lenght; // Количество элементов в массиве 
int i; // индекс элемента который будем брать для сравнения с другими элементами массива 
int j; // индекс элемента с которым мы сравниваем взятый элемент 
int poss_delete; // позиция с которой будет сдвигаться влево массив на 1 
int L=0;//ДЛИНА 
 
// Ввести длину массива 
 
printf("Введите длину массива\n"); 
scanf("%d", &lenght); 
 
// Проверка введённой длины 
if (lenght<2 || lenght>20) 
{ 
printf("Длина массива за пределами (2;20)"); 
return 0; 
} 
 
// Ввести и проверить элементы массива 
printf("Введите элементы массива:\n"); 
for (int i = 0; i<lenght; i++) 
{ 
scanf("%d", &mass[i]); 
if (mass[i]<-1000 || mass[i]>1000) 
{ 
printf("Значение элементов массива за пределами (-1000;1000)\n"); 
return 0; 
} 
} 
 
 
// Удаление повторяющихся элементов массив 
 
for (i = 0; i<lenght; i++) /// ДЛЯ каждого элемента массива начиная c 0 берём элемент 
{ 
for (j = i - 1; j<lenght; j++)///ДЛЯ каждого взятого берём каждый элемент начиная со следующей позиции от взятого 
{ 
if (mass[i] == mass[j])// ЕСЛИ первоначально взятый элемент и элемент который мы берём для сравнения равны 
{ 
L=L+1;
// Записываем позицию в переменную и сдвигаем массив на эту позицию 
for (poss_delete = j; poss_delete < lenght; poss_delete++) 
{ 
mass[poss_delete] = mass[poss_delete - 1]; 
} 
lenght--; 
j--; // Уменьшаем идекс элемента с которым сравниваем , так при сдвиге массива не проверенный элемент становится на позицию проверенного 
// Уменьшаем идекс элемента с которым сравниваем , так при сдвиге массива не проверенный элемент становится на позицию проверенного 
} 
} 
} 
 
 
 
if(L == 0)
cout << "no solution";
else cout << L;
 
_getch(); 
 
return 0; 
 
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru