Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 13.02.2017
Сообщений: 25
1

Сортировка массива

26.06.2017, 10:01. Показов 951. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно решить следующую задачу:

Считать целочисленные (integer) данные из файла Input.dat, отсортировать по убыванию количества цифр и по возрастанию значения. Результат записать в файл Output.dat.

Пример:

Исходные данные (Input.dat)
160038070290400500
Выходные данные (Output.dat)
400500600708090123

Помогите, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2017, 10:01
Ответы с готовыми решениями:

Сортировка массива целых чисел A(n) по убыванию(используя метод обменная сортировка)
Помогите написать программу для сортировки массива целых чисел A(n) по убыванию(используя метод...

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

Сортировка массива
Отсортировать элементы с нечетными значениями в порядке – возрастания, если сумма элементов с...

Сортировка массива
В городе имеется m банков. Известны величины задолженностей банков друг другу. Расположить...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.06.2017, 12:20 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

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
function cifry(n:integer):integer;
var m,k:integer;
begin
k:=0;
m:=n;
while m>0 do
 begin
  m:=m div 10;
  k:=k+1;
 end;
cifry:=k;
end;
var f:file of integer;
    a:array[1..100] of integer;
    n,i,j,x:integer;
begin
randomize;
//создадим файл input.dat
repeat
write('Сколько чисел записать в файл от 10 до 100 n=');
readln(n);
until n in[10..100];
assign(f,'input.dat');
rewrite(f);
for i:=1 to n do
 begin
  case i mod 3 of
  0:x:=random(10);
  1:x:=10+random(90);
  2:x:=100+random(900);
  end;
  write(f,x);
 end;
reset(f);
writeln('Исходный массив');
n:=0; //пусть мы не знаем сколько чисел в файле
while not eof(f) do
 begin
  n:=n+1;
  read(f,a[ n]);
  write(a[n]:4);
 end;
close(f);
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if (cifry(a[i])<cifry(a[j]))
or ((cifry(a[i])=cifry(a[j]))and(a[i]>a[j]))then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
assign(f,'output.dat');
rewrite(f);
for i:=1 to n do
write(f,a[i]);
writeln('Измененный массив');
reset(f);
while not eof(f) do
 begin
  read(f,x);
  write(x:4);
 end;
close(f);
end.
1
1 / 1 / 0
Регистрация: 13.02.2017
Сообщений: 25
26.06.2017, 15:59  [ТС] 3
Спасибо, Puporev, вы мне очень помогли.
0
26.06.2017, 15:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2017, 15:59
Помогаю со студенческими работами здесь

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

Сортировка массива
В программировании полный 0, а решить надо!) Решил обратится к знающим людям. Препод сказал...

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

Сортировка массива
Отсортировать массив по возрастанию методом обмена, выполняя сортировку елементов которые превышают...


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

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