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

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти

20.11.2014, 08:19. Показов 1322. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
{Ввести последовательность натуральных чисел Aj
j=1...n (n<=1000). Упорядочить последовательность
по неубыванию наименььшей цифры числа,
числа с одинаковыми наименььшими цифрами дополнительно
упорядочить по неубыванию суммы цифр числа, числа с одинаковыми
наименььшими цифрами и одинаковыми суммами цифр дополнительно
упорядочить по неубыванию самого числа.}

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
program Sortirovka;
uses crt;
const nmax=1000;
var A:array[1..100] of integer;
    i,j,n,nn,m,k,r,l:integer;
    s,s2:string;
    pr1,pr2,c,cod:integer;
    b:boolean;
procedure Perestanovka(var a,b:integer);
var c:integer;
begin
c:=a; a:=b; b:=c;
end;
begin
write('N= '); 
readln (n);
writeln ('Vvedite elementy massiva A: ');
for j:=1 to n do 
   read (A[j]); 
    nn:=n;
    repeat
    b:=false;
    for j:=1 to nn-1 do
        begin
        l:=j mod 10;
        if j>10 then begin 
           l:=j mod 10;
        if m > max then 
           max:=c;  
           j:=j div 10;
        end;   
           str(A[j],s);
           str(A[j+1],s2);
        end;
    dec(nn);
    until not b;
writeln;writeln;
writeln ('po neubivaniu naimenshei tsifri');
for j:=1 to n do 
   write (A[j],' ');
   nn:=n;
   repeat
   b:=false;
    for j:=1 to nn-1 do
        begin
          str(A[j],s);
          str(A[j+1],s2);
          if s[1]<>s2[1] then
          pr1:=1;pr2:=1;
          for i:=1 to length(s) do  
            begin val(s[i],c,cod); 
               pr1:=pr1+c; 
            end;
            for i:=1 to length(s2) do 
              begin  
                 val(s2[i],c,cod);
                 pr2:=pr2+c; 
              end;
            if pr1<pr2 then 
              begin        
                k:=A[j];
                A[j]:=A[j+1];
                A[j+1]:=k;
                b:=true; 
              end;
        end;
    dec(nn);
    until not b;
writeln;writeln;    
writeln ('po neubivaniu summi tsifr');
for j:=1 to n do write (A[j]:4,' ');
    nn:=n;
    repeat
    b:=false;
    for j:=1 to nn-1 do
        begin
          str(A[j],s);
          str(A[j+1],s2);
          pr1:=1;pr2:=1;
          for i:=1 to length(s) do  
             begin 
               val(s[i],c,cod);
               pr1:=pr1+c; 
             end;
             for i:=1 to length(s2) do 
                 begin 
                   val(s2[i],c,cod);
                   pr2:=pr2+c; 
                 end;
                 if (s[1]<>s2[1]) and (pr1<>pr2) then        
                 if A[j]>A[j+1] then  
                      begin
                        r:=A[j];
                        A[j]:=A[j+1];
                        A[j+1]:=r;
                        b:=true; 
                      end;
        end;
    dec(nn);
    until not b;
writeln;writeln;   
writeln ('Massiv A po neubivaniyu samogo chisla: ');
for j:=1 to n do 
  write (A[j]:4,' ');
readln;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2014, 08:19
Ответы с готовыми решениями:

Не могу понять, почему программа неправильно работает!
Изучаю С++ по Страуструпу Б. - Программирование. Принципы и практика использования C++. Есть...

не могу понять почему не работет программа. Где ошибка?
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;ctime&gt; #include &lt;windows.h&gt; using namespace...

Не могу понять почему не работает и где тут ошибка
Доброго всем времени суток! Нужна ваша помощь скачал с инета форму которая определяет сколько...

не могу понять почему не работает программа
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;cmath&gt; using namespace std;...

1
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
20.11.2014, 09:54 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
program Sortirovka;
 
uses crt;
 
function min_cif(n:integer):byte;
var m:integer;
    mn:byte;
begin
m:=abs(n);
mn:=9;
while m>0 do
 begin
  if m mod 10<mn then mn:=m mod 10;
  m:=m div 10;
 end;
min_cif:=mn
end;
 
function sum_cif(n:integer):byte;
var m:integer;
    sum:byte;
begin
m:=abs(n);
sum:=0;
while m>0 do
 begin
  sum:=sum+m mod 10;
  m:=m div 10;
 end;
sum_cif:=sum
end;
const nmax=1000;
 
procedure swap(var a,b:integer);
var c:integer;
begin
c:=a; a:=b; b:=c;
end;
var a:array[1..100] of integer;
    i,j,n,k:integer;
begin
clrscr;
randomize;
repeat
write('Введите размер последовательности от 2 до ',nmax,' n=');
readln (n);
until (n>1)and(n<=nmax);
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=random(1000);
  write(a[i]:4);
 end;
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if(min_cif(a[i])>min_cif(a[j]))
or((min_cif(a[i])=min_cif(a[j]))and(sum_cif(a[i])>sum_cif(a[j])))
or((min_cif(a[i])=min_cif(a[j]))and(sum_cif(a[i])=sum_cif(a[j]))and(a[i]>a[j]))
then swap(a[i],a[j]);
writeln ('Отсортированный массив');
for j:=1 to n do
write (A[j]:4);
readln;
end.
0
20.11.2014, 09:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2014, 09:54
Помогаю со студенческими работами здесь

Не могу понять почему не работает программа
int f,x,a,b,c; cin&gt;&gt;x; if (x&gt;0) {f=pow(-x,4); cout&lt;&lt;f;} else {f=x+92; cout&lt;&lt;f;} if...

Не могу понять почему не работает. Создаю игру Пятнашки. И ничего у меня не работает. И ошибки при запуске выдает
Не могу понять почему не работает. Создаю игру Пятнашки. И ничего у меня не работает. И ошибки при...

Не могу понять почему программа работает не правильно!
Задание: Программа находит в строке 1 символ который не входит во 2 заданную строку. Помогите...

Не работает простенькая программа. Не могу понять почему
Код программы: public class Calculate { public static void main(String args) { int...


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

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

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