Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
AlonS18
0 / 0 / 1
Регистрация: 20.12.2013
Сообщений: 7
1

Подсчитать количество сравнений исходного и отсортированного массивов

10.05.2014, 11:46. Просмотров 251. Ответов 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
uses crt;
const
N = 100;
var
  A: array [1..N] of integer;  i,j,min,ind:integer;
begin
clrscr;
  for i:=1 to N do
    a[i] := Random(100);
  writeln('Исходный массив A: ');
  for  i:=1 to N do
    write(a[i],'|');
  writeln;
 
  for  i:=1 to N-1 do
  begin
     min := a[i];
     ind := i;
    for  j:=i+1 to N do
      if a[j]<min then
      begin
        min := a[j];
        ind := j;
      end;
    a[ind] := a[i];
    a[i] := min;
  end;
 
  writeln('Отсортированный массив: ');
  for  i:=1 to N do
    write(a[i],'|');
  writeln;
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2014, 11:46
Ответы с готовыми решениями:

Подсчитать количество присваиваний и количество сравнений при сортировке
Составить программу, которая для массива, заполненного случайными целыми...

Подсчитать количество неотрицательных элементов в каждом из трех массивов
2. Даны три одномерных массива целых чисел A , B и С . Подсчитать количество...

Для динамических массивов А и В подсчитать количество таких k, для которых A[k]=B[k], A[k]>B[k] и A[k]<B[k]
Заданы два динамических массива A и B, каждый из массивов состоит из n целых...

За наименьшее количество сравнений определить наибольшое из трех чисел
как за найменьшое количество сравнений определить найбольшое с трех любых чисел?

Количество сравнений и обменов при сортировке матрицы разными способами
Необходимо создать однородную таблицу. Затем применить три метода сортировки:...

2
PogrKup
71 / 71 / 64
Регистрация: 30.04.2014
Сообщений: 214
10.05.2014, 12:01 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
uses crt;
const
N = 100;
var
  A: array [1..N] of integer;  i,j,min,ind,kol:integer;
begin
clrscr;
  for i:=1 to N do
    a[i] := Random(100);
  writeln('Исходный массив A: ');
  for  i:=1 to N do
    write(a[i],'|');
  writeln;
  kol:=0;
  for  i:=1 to N-1 do
  begin
     min := a[i];
     ind := i;
    for  j:=i+1 to N do
     begin
      inc(kol);
      if a[j]<min then
      begin
        min := a[j];
        ind := j;
      end;
     end;
    a[ind] := a[i];
    a[i] := min;
  end;
 
  writeln('Отсортированный массив: ');
  for  i:=1 to N do
    write(a[i],'|');
writeln;
  writeln('Количество сравнений: ',kol);
  writeln;
end.
0
AlonS18
0 / 0 / 1
Регистрация: 20.12.2013
Сообщений: 7
10.05.2014, 12:08  [ТС] 3
Все конечно здорово,но получается все время одно число.У меня вот вопрос: можно ли как то переписать программу так ,чтобы количество было не постоянным. Типа как здесь:
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
uses crt;
const
n = 100;
var
  a:array[1..n] of integer;
  i,j,buf,k:integer;    b: boolean;
begin
clrscr;
  begin
 for i:=1 to n do
      a[i]:=random(100);
      writeln('Исходный массив');
for i:=1 to n do
      write(a[i],'|');
 end;
 {for i:=1 to n-1 do }
 repeat
  b:=true;
    for i:=1 to n-1 do  begin k:=k+1;
      if a[i]>a[i+1] then
        begin
          buf:=a[i];
          a[i]:=a[i+1];  b:=false;
          a[i+1]:=buf;
        end;
       end;
     until b;
  writeln;
  writeln('Отсортированный массив: ');
for i:=1 to n do
    write(a[i],'|');
writeln;
writeln('Количество сравнений:',k);
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2014, 12:08

Hаписать пpогpамму фоpмиpования массивов положительных и отрицательных элементов из исходного массива
1. Hаписать пpогpамму фоpмиpования массивов положительных и отрицательных...

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

Подсчитать, сколько раз в дробной части исходного числа встречается комбинация цифр 33.
Дано вещественное число a. Подсчитать, сколько раз в дробной части исходного...


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

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

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