Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для faraday1
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 12

Сортировка чисел

24.07.2017, 17:22. Показов 930. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Помогите пожалуйста.
Есть исходный файл в котором большое количество строк. В каждой строке записана дата и числа через запятую.
Пример 01.01.1999 12:34:56 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15, 16 , 17 , 18 , 19.
Необходимо выписать в отдельный файл все числа после пятой запятой в каждой строке. А затем на экран вывести количество чисел из нового файла в интервале 0 - 10 и 11 - 20.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2017, 17:22
Ответы с готовыми решениями:

Сортировка одномерного массива методом «пузырька», выделение массивов из четных и нечетных чисел. Вычисление суммы нечетных чисел
Program Sortirovka; Uses Crt; Var a:array of integer; i,j,k,n,Sum : integer; BEGIN Repeat Clrscr; Write('Vvedite...

Сортировка чисел в файле
Ув.программисты помогите решить задачу.Дан файл целых чисел. Нулевых компонент в файле нет. Число отрицательных компонент равно числу...

Сортировка чисел по возрастанию
В двумерных массивах A и В рассортировать числа по возрастанию в каждой диагонали, параллельной главной диагонали. Числа на главной...

10
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.07.2017, 18:40
Именно так и записаны строки, перед первым числом запятая, в конце строки точка?
0
 Аватар для faraday1
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 12
24.07.2017, 18:51  [ТС]
в начале стоит дата, в конце символ конца строки
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.07.2017, 19:18
Цитата Сообщение от faraday1 Посмотреть сообщение
в конце символ конца строки
Тогда уж по умолчанию #13+#10, конец строки и переход на новую строку, как во всех текстовых файлах, и зачем точку прилепили?

Добавлено через 21 минуту
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
const cf=['0'..'9'];
var f,g:text;
    s,s1:string;
    i,j,k:integer;
begin
assign(f,'1.txt');
reset(f);
assign(g,'2.txt');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  delete(s,1,pos(',',s)-1);
  k:=0;
  while (pos(',',s)>0)and(k<5) do
   begin
    delete(s,1,pos(',',s));
    inc(k);
   end;
  if k<5 then writeln(g,'')//если нет 5 запятых, введем пустую строку
  else
   begin
    s:=','+s;//вернем пятую запятую  в начало оставшейся строки
    i:=2; //будем выделять подстроки-числа
    while i<=length(s) do
    if(s[i] in cf)and not(s[i-1] in cf) then
     begin
      s1:='';
      j:=i;
      while (j<=length(s))and (s[j] in cf) do
       begin
        s1:=s1+s[j];
        j:=j+1;
       end;
      write(g,' ',s1);
      i:=i+length(s1);
     end
   else i:=i+1;
   writeln(g,'');
  end;
 end;
close(f);
reset(g);
i:=0;
j:=0;
while not seekeof(g) do
 begin
  read(g,k);
  if(k in [0..10]) then inc(i);
  if(k in [11..20]) then inc(j);
 end;
writeln('Количество чисел из интервала [0..10]=',i);
writeln('Количество чисел из интервала [11..20]=',j);
close(g);
end.
0
 Аватар для faraday1
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 12
25.07.2017, 13:29  [ТС]
Да, все супер. Только моя дурная голова неправильно вопрос сформулировала. Не все числа после 5-й запятой, а только по одному числу в каждой строчке. как это сделать ума не приложу
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.07.2017, 13:31
Строка 35
Pascal
1
writeln(g,s1);
Строку 39 убрать.
0
 Аватар для faraday1
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 12
25.07.2017, 13:49  [ТС]
он тогда без пробелов пишет все строки. Нужно что бы только по одному числу.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.07.2017, 13:54
Pascal
1
2
3
4
5
6
  writeln(g,s1);
      i:=i+length(s1);
     end
   else i:=i+1;
//   writeln(g,'');
  end;
Второй файл
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Добавлено через 1 минуту
Исходный файл
01.01.1999 12:34:56 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15, 16 , 17 , 18 , 19.
01.01.1992 12:34:56 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15, 16 , 17 , 18 , 19.
01.05.1989 12:34:56 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15, 16 , 17 , 18 , 19.
21.01.1969 12:34:56 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15, 16 , 17 , 18 , 19.
21.10.2005 10:25:12 , 10,15,12,10.
0
 Аватар для faraday1
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 12
25.07.2017, 14:00  [ТС]
Вы безусловно правы. Но походу я так тупо объясняю. Смысл не в том чтобы во второй файл числа выводились по одному в строчку. а смысл в том, что из первого файла брать только по одному числу из каждой строчки. а сейчас мы убираем все до пятой запятой и все что осталось перекидываем во второй файл, а нужно только одно число между пятой и шестой запятой. так можно?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
25.07.2017, 14:15
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
const cf=['0'..'9'];
var f,g:text;
    s,s1:string;
    i,j,k:integer;
begin
assign(f,'1.txt');
reset(f);
assign(g,'2.txt');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  delete(s,1,pos(',',s)-1); //удалим дату и время
  //удалим все по 5 запятую
  k:=0;
  while (pos(',',s)>0)and(k<5) do
   begin
    delete(s,1,pos(',',s));
    inc(k);
   end;
  if k<5 then writeln(g,'')//если нет 5 запятых, введем пустую строку
  else
   begin
    while not(s[1] in cf)do delete(s,1,1);//пока первая не цифра, удаляем
    s1:='';
    i:=1; //будем выделять первое число после 5 запятой
    while (i<=length(s))and (s[i] in cf) do
     begin
      s1:=s1+s[i];
      i:=i+1;
     end;
    writeln(g,s1);
  end;
 end;
close(f);
reset(g);
i:=0;
j:=0;
while not seekeof(g) do
 begin
  read(g,k);
  if(k in [0..10]) then inc(i);
  if(k in [11..20]) then inc(j);
 end;
writeln('Количество чисел из интервала [0..10]=',i);
writeln('Количество чисел из интервала [11..20]=',j);
close(g);
end.
0
 Аватар для faraday1
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 12
25.07.2017, 14:24  [ТС]
Шикарно. Спасибо большое!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.07.2017, 14:24
Помогаю со студенческими работами здесь

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

Поиск и сортировка чисел
Помогите, пожалуйста с задачкой! Написать программу, которая находит и выводит на печать все четырехзначные числа a,b,c,d, для которых...

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

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array of integer; Var i,b,n,j,a:...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru