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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zavnical
4 / 0 / 0
Регистрация: 17.12.2013
Сообщений: 17
#1

программа, которая ищет в массиве чисел симметричные участки работает не совсем правильно, не могу найти ошибку - C++

21.12.2013, 00:40. Просмотров 162. Ответов 0
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
using namespace std;
void mas(int a[], int n)//функция которой заполняю массив
{int i;
    cout<<"zapolnite massiiv"<<endl;
for(i=0; i<n; i++)
cin>>a[i];
return ;
}
int _tmain(int argc, _TCHAR* argv[])
{int a[100], n, i, j, k, l, flag=1, t, maxbegin, maxend, maxlen, c,v;
char z;
do//ду вайл для повтора программы
{
    maxbegin=1;//позиция начального  i
    maxend=1;//конечного
    maxlen=1;// сиимметричный участок нужен максимальной длинны, сюда длины будут записываться
cout<<"vvedite razmernost'"<<endl;
cin>>n;//вводим размерность массива
 
mas(a, n);//заполняем массив
for(i=0; i<n-1; i++)//бежим по масссиву и проверяем его на симметричность
 for(j=n-1; j>=i; j--)
 {
     k=i;// что бы не испорить сами i и j ,будем работать с их копиями
     l=j;
     t=j;
   
     flag=1;//если флаг в конце останется равен 1 то участок симметричный и в maxbedin и maxend запишем i и j
     while(l>=k)//уменьшать будем до тех пор пока меньше или равно, потому что случаи симметричности бывают такие( 121, 1221)
     
    k++, l--;
     if(a[k]!=a[l])//если к-ый элемент не равен l-евому, то флаг сбиваем
         flag=0;
 
 if(flag==1)//если флаг остался равен 1 то проверяем какой длиины симметричный кусок массива нашего, тк в конце должен вывестись наибольший симметричный участок
  if((j-i)>maxlen)
 {   maxlen=(j-i);//если больше уже имеющейся длинны, то
     maxbegin=i;//перезаписываем позицию начала
     maxend=j;}//и позицию конца
 }
 for(i=maxbegin; i<=maxend; i++)//в конце концов по идее должны получиться "координаты" самого длиннго
 //симметричного кускаа
     cout<<a[i]<<" "; //ну и выводим на экран его
 for(i=0; i<n; i++)
 a[i]=0;
 
cout<<"prodolgit' vipolnenie?"<<endl;
cin>>z;
}
while(z=='y'||z=='Y')
;
system("pause");
 
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 00:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа, которая ищет в массиве чисел симметричные участки работает не совсем правильно, не могу найти ошибку (C++):

Не правильно работает программа, не могу найти ошибку. - C++
ПРограмма должна считывать из файла числа (типа int), которые чередуются 10 положительных, 10 отрицательных и так далее. Необходимо...

Не правильно работает... Программа должна найти непрерывные участки, на которых сумма элементов равна 100 - C++
Не правильно работает... Помогите исправить... Программа должна найти непрерывные участки, на которых сумма элементов равна 100 #include...

Не могу найти ошибку, работает не правильно - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include &quot;iostream&quot; using namespace std; ...

Программа работает, не не совсем правильно... - C++
Напечатать вектор первых букв слова, которые начинаются и заканчиваются на указаный символ (т.е. надо вывести адрес строки и адреса первых...

Программа работает не совсем правильно - C++
Вообщем вот условие. Создать класс, содержащий сведения о количестве изделий, собранный сборщиками цеха за неделю. Класс должен содержать...

Не совсем правильно работает простенькая программа - C++
Получить таблицу температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта, используя для перевод формулу tf =...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 00:40
Привет! Вот еще темы с ответами:

Отладить программу, которая ищет в массиве чисел симметричные участки - C (СИ)
порграмма иногда работает правильно, а иногда выводит на экан какую-то чушь( помогите разобраться пожалуйста #include &quot;stdafx.h&quot; #include...

Программа работает не совсем правильно - Delphi
Дело в том что график курса валют вырисовывается наизнанку чтоле. unit Unit1; {$mode objfpc}{$H+} interface uses ...

Программа почему то складывает числа не правильно. Не могу найти ошибку - Assembler
; Сделать ввод числа и перевести в двоично-десятичную. Вывести результат на экран MODEL SMALL stk segment STACK db 256 dup (0) stk...

Не работает программа, не могу найти ошибку - C (СИ)
Дан одномерный массив А неупорядоченных целых чисел. Назовем инверсией два стоящих рядом элемента, когда левый элемент больше правого. Из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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