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

Переделка с возрастание на убывание

08.09.2010, 19:47. Показов 1337. Ответов 11
Метки нет (Все метки)

Дана небольшая программа. Ввожу элементы одномерного массива. Выводятся они в порядке возрастания. Нужно этим же способом в порядке убывания. Я думал легко получится, заменив просто на минус знак, но не помогло. Буду рад увидеть ваши предложения и переделки.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Program Distrib; 
uses crt;
var 
A:Array [1..10] of integer; 
B:array [1..10] of integer;
i,j:integer; 
begin 
clrscr;
Writeln(‘Wod mas A’);
For i:=1 to 10 do begin 
Write(‘A[,i,]=); 
Read(A[i]); end; 
Writeln(‘Sort distrib metodom’); 
For i:=1 to 10 do 
B[i]:=0; 
For i:=1 to 10 do 
B[A[i]]:=B[A[i]]+1; 
For i:=1 to 10 do 
For j:=1 to B[i] do 
write (‘ ‘,i); 
Readkey; 
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2010, 19:47
Ответы с готовыми решениями:

Возрастание и убывание в числе
Дано число, требуется отсортировать сначала по возрастанию а потом по убыванию цифры в нём

Проверить последовательность чисел на возрастание или убывание
Нужно написать программу, которая проверит последовательность n чисел, введённой на клавиатуре, на...

Возрастание или убывание элементов в массиве через процедуры
Добрый вечер! Помогите, пожалуйста! Даны три целочисленных массива длиной n, m, l (заполняются...

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

11
Почетный модератор
64253 / 47553 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
08.09.2010, 20:08 2
Цитата Сообщение от DaniilC Посмотреть сообщение
Ввожу элементы одномерного массива.
Это же не просто массив, а типа индексный. Введи в массив например отрицательные числа, или большие положительные. Суть задачи хоть напиши нормально.
0
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 22
08.09.2010, 20:11  [ТС] 3
Puporev, суть задачи: ввести элементы одномерного массива и вывести их в порядке возрастания. В var для массива B мы указываем, какие введённые в массиве A числа сортировать.

B - вспомогательный массив, куда заносим все нули.
0
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
08.09.2010, 20:23 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
53
54
55
56
57
58
59
60
program    pr1;
uses       crt;
const      WG=100;
type       tmasi=array[1..WG]of integer;
var        a:tmasi;
           kl,i,j:byte;
           s:integer;
           
procedure  pro_vv_mas(var n:byte; var mas:tmasi);
var        i,kl:byte;
begin
     writeln('1-vvod s klaviaturi; 2-sluchayno');
     readln(kl);
     if kl=2 then randomize;
     writeln('razmernost`');
     readln(n);
     for i:=1 to n do
     case kl of
     1:begin
            writeln('vvedi ',i,' element');
            readln(mas[i]);
       end;
     2:mas[i]:=random(50);
     end;
end;
 
procedure  pro_out_mas(n:byte; mas:tmasi);
var        i:byte;
begin
     writeln('isxodny massiv:');
     for i:=1 to n do
     write(mas[i]:5);
end;
procedure  pro_sort_mas(n:byte; var mas:tmasi; x:integer);
var        nom,j,i:byte;
           mm:integer;
begin
     for i:=1 to n do begin
                           mm:=a[i];
                           nom:=i;
                           for j:=i+1 to n do if a[j]*x<mm*x then begin
                                                                       mm:=a[j];
                                                                       nom:=j;
                                                                  end;
                          a[nom]:=a[i];
                          a[i]:=mm;
                      end;
end;
 
begin
     pro_vv_mas(j,a); writeln('massiv:'); pro_out_mas(j,a);
     writeln;
     writeln('1-v porydke vozrostaniy, 2-v porydke ubivania');
     readln(kl);
     if kl=1 then s:=1 else s:=-1;
     pro_sort_mas(j,a,s);
     writeln;
     writeln('otsortirovanniy massiv:');
     pro_out_mas(j,a);
end.
Добавлено через 33 секунды
Ой, сорри! Не видел предыдущих постов!!
Тогда не так(((

Добавлено через 2 минуты
Черт, все на смарку! А зачем массив В....для нулей??
0
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 22
08.09.2010, 20:24  [ТС] 5
Сэм, да. Это массив, как счётчик.
0
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
08.09.2010, 20:32 6
А и нули не вносить в упорядоченный массив? верно?
0
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 22
08.09.2010, 20:34  [ТС] 7
Сэм, верно. Мне нужно тут слегка изменить:

Pascal
1
2
3
4
5
6
7
8
9
10
Writeln(‘Sort distrib metodom’); 
For i:=1 to 10 do 
B[i]:=0; 
For i:=1 to 10 do 
B[A[i]]:=B[A[i]]+1; 
For i:=1 to 10 do 
For j:=1 to B[i] do 
write (‘ ‘,i); 
Readkey; 
end.
Тут код для возрастания, а нужно для убывания)
0
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
08.09.2010, 20:35 8
Цитата Сообщение от DaniilC Посмотреть сообщение
Тут код для возрастания, а нужно для убывания)
Я понял...попробую разобраться...
1
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 22
08.09.2010, 20:36  [ТС] 9
Сэм, буду очень Вам благодарен!
0
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
08.09.2010, 20:41 10
Pascal
1
2
3
For i:=10 downto 1 do
For j:= B[i] downto 1 do
write (' ',i);
Добавлено через 27 секунд
только алгоритм сортировки не совсем правильно реализован
1
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 22
08.09.2010, 20:46  [ТС] 11
yamilramilev, супер, благодарю!!!
0
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
09.09.2010, 17:39 12
Сорри, не успел((
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2010, 17:39
Помогаю со студенческими работами здесь

Возрастание и убывание функции
Дана функция f(x)=xcos\frac{x}{2} найти где она возрастает и убывает на промежутке f'=\cos...

Возрастание, убывание и экстремумы
y=\frac{{x}^{3}}{1-{x}^{2}} x\neq\pm 1 y'=\frac{3-{x}^{2}}{-1-{x}^{2}} -1-{x}^{2}\neq 0 x=\pm...

Возрастание и убывание функции в ряду
Дан ряд \sum_{n=1}^{oo} \frac{{(-1)}^{n+1}n^2}{(2n^2+1)} его ряд из модулей \sum_{n=1}^{oo}...

Исследовать на возрастание/убывание график
Добрый день! у меня есть график, который построен по точкам. По оси x время, по y данные с...

Проверка сортировки массива на возрастание/убывание
Всем Привет! С Праздниками Всех! сделал программу и в ней 2 функции которые должны делать...

Исследуйте функцию на убывание (возрастание) и экстремумы
555. исследуйте функцию на убывание (возрастание) и экстремумы в) f(x) = 2х – ln х...


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

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

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