Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 7
1

Даны действительные числа а1.а30. Оставить без изменений последовательность, если она упорядочена по не убыванию и не возрастанию, иначе - удалить и

19.10.2012, 00:48. Просмотров 1670. Ответов 1
Метки нет (Все метки)


Даны действительные числа а1...а30. Оставить без изменений последовательность,
если она упорядочена по не убыванию и не возрастанию, иначе - удалить из последовательности все члены, порядковые номера которых кратны 4, сохраняя предыдущий порядок остатка членов.


Вот моя программа, только она в любом случае удаляет элементы, порядковые номера которых кратны 4
подскажите пожалуйста в чем проблема?
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
program pr1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
 
const n=30;
var i,m,j:Integer;
    f:Boolean;
    a:array[1..n] of Real;
 
 
   begin
    for i:=1 to n do
     Readln(a[i]);
 
    for i:=1 to n do
     begin
      if  ((a[i]<a[i+1]) and (a[i]<a[i+2]))
       then f:=True
       else f:=False;
     end;
      for i:=1 to n do
       if (a[i]>a[i+1]) and (a[i]>a[i+2])
        then f:=True
        else f:=False;
 
    if (f=True) 
     then
      begin
        m:=n;
        i:=1;
       while i<=m do
        if i mod 4 = 0
         then
          begin
            for j:=i to m-1 do
             a[j]:=a[j+1];
            m:=m-1;
            i:=i+1;
          end
         else i:=i+1;
        for i:=1 to m do
         Writeln(a[i]:0:3)
      end
     else
      begin
       Writeln;
       for i:=1 to n do
        Writeln(a[i]:0:3);
      end;
    Readln;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2012, 00:48
Ответы с готовыми решениями:

Если последовательность упорядочена по не убыванию, то оставить ее без изменения
Дано натуральное число n,действительные числа а1,...,аn (n&gt;2). если последовательность а1,...,аn...

Оставить без изменения последовательность а1 - а30, если она упорядочена по возрастанию или по убыванию
Даны действительные числа а1.....а30. Оставить без изменения последовательность а1.....а30, если...

Оставить без изменений последовательность, если она упорядочена по не убыванию или по не возрастанию
Ребят,я начинающая программистка) помогите решить задачу на С Даны действительные числа a1, …,...

Даны действительные числа . Оставить без изменения последовательность, если она упорядочена по неубыванию, в противном
Даны действительные числа . Оставить без изменения последовательность, если она упорядочена по не...

__________________
Помогаю в написании студенческих работ здесь.
1
51 / 51 / 23
Регистрация: 05.04.2010
Сообщений: 127
19.10.2012, 02:25 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
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
program pr1;
 
const n=30;
var i,m,j:Integer;
    f:Boolean;
    a:array[1..n] of Real;
    vmode:byte;
 
 
   begin
   writeln;
   write('chose mode(1-4): ');
   readln(vmode);
    for i:=1 to n do
        case vmode of
    1: Readln(a[i]); {vvod}
    2: a[i]:=i;  {up sorted}
    3: a[i]:=n-i+1; {down sorted}
    4: a[i]:=random(100);  {unsorted}
    end;
    for i:=1 to n do writeln('a[',i,']: ',a[i]:0:3);  {show array}
    readln;
 
 
    for i:=1 to n-1 do
     begin
      if  a[i]<a[i+1]
       then f:=True
       else begin f:=False; break;end;
 end;
     {writeln('f=',f);
    readln;}
     if f=false then
      for i:=1 to n-1 do
       if a[i]>a[i+1]
        then f:=True
        else begin f:=False; break;end;
  {  writeln('f=',f);
    readln;}
 
 
    if (f=false)
     then
      begin
        m:=n;
        i:=1;
       while i<=m do
        if i mod 4 = 0
         then
          begin
            for j:=i to m-1 do
             a[j]:=a[j+1];
            m:=m-1;
            i:=i+1;
          end
         else i:=i+1;
        for i:=1 to m do
         Writeln('a[',i,']: ',a[i]:0:3)
      end
     else
      begin
       Writeln;
       for i:=1 to n do
        Writeln('a[',i,']: ',a[i]:0:3);
      end;
    Readln;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2012, 02:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Оставить без изменений последовательность, если она упорядочена по возрастанию
... в противном случае удвоить все элементы, кратные 4. я все волосы порвал. помогите,...

Оставить без изменения последовательность, если она упорядочена по убыванию
Нужно написать программы(консольное приложение) в делфи самым простым способом без...

Если последовательность упорядочена по неубыванию, то оставить ее без изменения, иначе получить последовательность an, an-1, ... , a1
Здравствуйте! Помогите пожалуйста переделать программу под язык Си с Паскаля! Дана...

Оставить без изменения последовательность, если она упорядочена
Даны целые числа а1...аn, где n - целое положительное число (n&lt;=100). Оставить без изменения...


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

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

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