0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 20
1

Прогрессия. Программа работает неправильно

29.12.2012, 06:05. Показов 413. Ответов 1
Метки нет (Все метки)

Если ввести 1,2,3,7,9,4,6,8,5
Программа выведет 1,2,3,4,5,6,7,8,9, а должна был вывести отдельно
1,2,3 и 4,6,8
Сама программа:
Pascal
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
program ghya;
uses wincrt;
Const
 Nm=100;
 var     a,b :array [1..nm] of integer;
           N,i,j:Byte;
        t,max,ind,jch :integer;
Begin
 Write('N= ');
 Readln(N);
for j:=1 to n-i do begin
                write('a[',j,'] = ');
                readln(a[j]);
        end;
 
 
 
 writeln;
        for i:=1 to n-1 do
                for j:=1 to n-i do
                        if a[j]>a[j+1] then begin
                                t:=a[j];
                                a[j]:=a[j+1];
                                a[j+1]:=t;
                        end;
  j:=1;
        for i:=1 to n-1 do begin
                b[i]:=a[i+1]-a[i];
        end;
 
        for i:=1 to n do
                if b[i]=0 then continue
                else begin
                    j:=1;
                    while j<n do begin
                        t:=0;
                        if b[i]=b[j] then begin
                                while (b[i]=b[j]) and (j<n) do begin
                                        Inc(t);
                                        Inc(j);
                                end;
                                if t>max then begin
                                        max:=t;
                                        ind:=j;
                                end;
                        end else Inc(j);
                    end;
                end;
 
        if max<=1 then writeln('')
        else begin
                for i:=ind-max to ind do
                        write(a[i]:3);
        end;
        readln;
END.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2012, 06:05
Ответы с готовыми решениями:

Программа по строкам неправильно работает
Программу написал, но есть проблема:вместе с нужными символами выводится &quot;:&quot;. Подскажите, как можно...

Несложная программа неправильно работает в turbo
я начинающий..прога простая, не очень красивая..но всё же...вот код: uses crt; var a, b:...

Программа неправильно работает
Здравствуйте!!!Помогите кто может.Перебрала разные варианты...и все равно не выходит. Написала...

Неправильно работает программа со списками
Пишу программу для работы магазина аудио-CD с использованием списков. Делал по примеру аналогичной...

1
314 / 273 / 272
Регистрация: 25.09.2011
Сообщений: 477
29.12.2012, 16:56 2
еще бы начальное условие задачи..., а так вот код, который ищет арифм последовательности в наборе цифр, остается отсеять все лишнее
Pascal
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
const maxn=100;
var
  a : array [1..maxn] of integer;
  i,j,k,n : byte;
  t,d : integer;
  b : boolean;
Begin
  write('input N [2..',maxn,'] : '); readln(n);
  writeln(' input massive : ');
  for i:=1 to n do begin
    write('a[',i,'] = '); readln(a[i]);
  end;
  for i:=1 to n do
  for j:=1 to n-1 do if a[j]>a[j+1] then begin
    t:=a[j];
    a[j]:=a[j+1];
    a[j+1]:=t;
  end;
  writeln('otsortirowannyj massiv :');
  for i:=1 to n do write(a[i]:4); writeln;
 
  for i:=1 to n-3 do begin
    for k:=1 to n-i do begin
      d:=a[i+k]-a[i];
        b:=true;
        j:=i+k; t:=a[j];
        while j<=n do begin
          if t+d=a[j] then begin
            if b then begin write(a[i]:4,a[i+k]:4); b:=false; end;
            write(a[j]:4);
            t:=a[j];
          end;
          inc(j);
        end;
        if not b then writeln;
    end;
  end;
  readln;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2012, 16:56

множества. Программа работает неправильно
uses crt; type mn=set of char; var a,b,c:mn; x,y,z:char; procedure enter(var a,b,c:mn); ...

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти
{Ввести последовательность натуральных чисел Aj j=1...n (n&lt;=1000). Упорядочить последовательность...

работает неправильно
uses crt; Var x:byte; a:string; i:integer; begin write('predlozhenie: '); ...

неправильно работает
(*Программа 4.5*) var A, B: integer; Y: integer; X1, X2, Z1, Z2: real;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru