0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164

Чтение, сортировка и запись в массив

29.05.2018, 12:04. Показов 3035. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь. может есть у кого заготовки программы или наметки, чтоб продолжить работку.
Нужно прочитать из массива данных, в котором будет папки по годам. Нужно брать из папки год(12 месяцев и по каждому месяцу есть данные по 27 позициям)
Данные представлены.
В данных(архив) три файла, это все за один месяц, так по обьему много не послать на форум, но таких фалов вместо трех будет 27 в одном месяце .
В общем папка год, в нем месяцы все вместе 12 штук, отличаются по номеру в назании файла, то есть например 200501 и 200502 и т.д , в месяце 27 позиций(уровней, высот или других характеристик) в данном случае высот.

Добавлено через 1 минуту
Много не получилось уложить в архив, но в целом структура такая.
Будет подготовлен массив. В нем по названию файла нужно брать(из названия)TS0050a.dat-200510, из первой части 050, это высота, а из второй части после dat- идет год и месяц 200510. и так далее TS0075a.dat-200510.
таких высот 27. Далее название TS0010a.dat-200511 значит 10a высота и 200511 год и месяц.
Внутри файла

0.5 -63.5 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000
0.5 -62.5 -1.971 -0.787 -0.052 34.261 0.150 0.005 -1.971 -0.787 -0.052 27.589 0.156 0.008 -1.486 -0.005 -0.010 -0.645 0.089 0.003
-1.968 -0.803 -0.059 34.245 0.140 0.002 -1.968 -0.803 -0.059 27.577 0.149 0.007 -1.477 -0.002 -0.010 -0.659 0.079 0.000
0.5 -60.5 -1.954 -0.827 -0.070 34.214 0.120 -0.002 -1.954 -0.827 -0.070 27.555 0.135 0.004 -1.457 0.002 -0.010 -0.685 0.062 -0.004
0.5 -59.5 -1.915 -0.857 -0.083 34.172 0.098 -0.007 -1.915 -0.857 -0.083 27.522 0.120 0.001 -1.426 0.005 -0.010 -0.720 0.041 -0.009
0.5 -58.5 -1.838 -0.892 -0.102 34.121 0.078 -0.011 -1.838 -0.892 -0.103 27.481 0.107 -0.001 -1.384 0.009 -0.010 -0.761 0.022 -0.015
0.5 -57.5 -1.706 -0.921 -0.128 34.064 0.061 -0.015 -1.706 -0.921 -0.128 27.434 0.096 -0.003 -1.331 0.012 -0.009 -0.805 0.005 -0.019
первые числа координаты 0.5 -63.5
0.5 -62.5
0.5 -61.5
далее характеристики.
Из файла нужно взять координаты и числа с позиции(например 3, 7)
То есть и записать в файл один. по столбцам будет год, месяц, координаты, 27 высот, 2-3 позиции из файла, например 2, 7 .
Применые наметки или может заготовка есть? дальше развить.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2018, 12:04
Ответы с готовыми решениями:

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран 2.Ввод с клавиатуры и запись в массив,...

Запись/чтение из файла, сортировка
Вообщем задача, прочитать из файла матрицу и номер столбца, если номер столбца четный, отсортировать его по возрастанию, если не четный, то...

Запись и чтение из файла. Структура. Сортировка
Здравствуйте. Мне нужно составить программу. Я написал, часть программы, мне нужно производить чтение и запись в файл (в самом файле должно...

36
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
04.06.2018, 14:45
Студворк — интернет-сервис помощи студентам
Вот юля попробуйте проект для начала запустите нажмите кнопку, получиться файл выходной, посмотрите так или нет, а затем к своему проекту применяйте то что я написал, если есть вопросы задавайте
Вложения
Тип файла: zip PRReadWrite.zip (6.37 Мб, 10 просмотров)
0
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
06.06.2018, 11:16
Delphi
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
program read;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
type
   wx=array[{2005..2018,}1..12,-80..20,0..80,1..27] of real;
 
  //  wx2=array[1..12,0..84,0..100] of real;
 
  var i,j,LL,FF,god,mes,lat,lon,a,b,n,L,m,h,ih:integer;
   rlat,rlon:real;
   f1,FS,R,fhh:text;
   gridT,gridS:wx;
   mhh:array[1..27] of integer;
  // grid2:wx2;
 
   tt,F,s1,s2,T,x,S:real;
   sgod:string[4]; sm:string[2]; sh:string[4]; h1:string[1]; h2:string[2];h3:string[3];
 
 begin
 
    god:=2005;
  // assign(FS,'f:\data\TS\TS2005.txt');rewrite(FS);
   //  assign(FS,'j:\новая папка\TS2005.txt');rewrite(FS);
 
   assign(Fhh,'f:\data\TS\TS\hh.txt');
   // assign(Fhh,'j:\новая папка\hh.txt');
   reset(Fhh);
   for h := 1 to 27 {3} do
     begin
     readln(fhh,mhh[h]);
     end;
 
 
   str(god,sgod);
   for m:= 1 to 12 do           //10-12
   begin
    str(m,sm); //месяц
     for h := 1 to 27 {3} do    // номера глубин
       begin
          if mhh[h]<10 then
           begin str(mhh[h],h1);
 
                 sh:='000'+h1;
           end else
           if mhh[h]<100 then
           begin str(mhh[h],h2);
                 sh:='00'+h2;
           end else
           if mhh[h]<1000 then
           begin str(mhh[h],h3);
                 sh:='0'+h3;
           end else  str(mhh[h],sh);
Добавлено через 4 минуты
Юля С,
Вот такой код попробуйте доделать.
Внизу нужно округлить координаты до целых.
Задать массивы по позициям если вместе то один, если для каждой позиции то можно несколько массивов.
как то так
Delphi
1
gT[{god,}mеы,lon,Lat,hвысота ]:=T1;
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
06.06.2018, 11:20  [ТС]
Zombi_sib,
Пробую.
Вчера что то не получилось ничего.

Добавлено через 48 секунд
Sayres, Осталось только запись на выход сделать ?
0
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
06.06.2018, 11:23
Юля С,
Да записать на выход нужно файл.
И в папку где данные нужно файл с высотами назвать hh его. данные в столбик как Вы ранее писали.
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
06.06.2018, 11:30  [ТС]
Sayres,
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
begin
 if mhh[h]<10 then
 begin str(mhh[h],h1);
sh:='000'+h1;
 end else
 if mhh[h]<100 then
 begin str(mhh[h],h2);
 sh:='00'+h2;
 end else
 if mhh[h]<1000 then
 begin str(mhh[h],h3);
 sh:='0'+h3;
 end else str(mhh[h],sh);
что значит?
0
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
06.06.2018, 11:38
Символьно читаем заголовок названия файла. из него же берем высоту и название месяца, то чнее номер месяца.
а тут если высота например 0, то будет 0000, если 5, то 0005, то есть до 100 если это то так. Если наприме 150 или 900, то это до 1000. и так далее
Так как высоты представлены от 0 до 2000

Добавлено через 4 минуты
Zombi_sib,
данные на диске 'f:\data\TTT все по месяцам.
От туда читать и туда же создать единый файл.
как в программке выше, понятно откуда идет путь и куда писать. Правда концовки нет программы.
У Вас пока не поняла как. скачала архив, распокавала. там проект 1. и юнит 1
0
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
06.06.2018, 12:33
открой проект посмотри как организовано, код простой не сложно понять
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
14.06.2018, 12:16  [ТС]
unit Unit1
это запускать. Может у меня не весь архив открылся.Что то не получается.
Ничего не читает и не записывает.

Добавлено через 7 минут
откуда читаете и куда записываете. путь к файлуZombi_sib,
0
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
14.06.2018, 12:21
Если Вы про мой проект то там есть *.exe файл запустите и посмотрите, так же там две папки одна с входными файлами и одна папка с выходным файлом, название выходного файла я давал просто так это не принципиально, в delphi открывайте project1.dpr

Добавлено через 3 минуты
Юля С, если у Вас не получается что-то выложите весь проект и скажите что не так я посмотрю пока не занят
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
14.06.2018, 12:49  [ТС]
Zombi_sib, скачался просто архив не поностью. всего 27 кб первый раз вообще.
Так теперь по порядку. Архив скачала.
В нем есть:Project1.dpr, он же в exe
0
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
14.06.2018, 12:51
Да там есть скомпилированный и готовый работать файл project1.exe, а также сам проект project1.pdr, так же две папки в одной входные файлы от куда данные беру и вторая папка в которую пишу, проект просто демонстрирует как я читаю и пишу в в выходной файл, все параметры можно менять под свои нужды
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
14.06.2018, 13:03  [ТС]
в папке так
Миниатюры
Чтение, сортировка и запись в массив   Чтение, сортировка и запись в массив  
0
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
14.06.2018, 13:05
Вот выкладываю еще раз
Вложения
Тип файла: zip PRReadWrite.zip (6.37 Мб, 3 просмотров)
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
14.06.2018, 13:05  [ТС]
входные свои файлы мне надо вписать в проект 1.
входные файлы как паке : TS0010a.dat-200511 и т.д их много.
буду смотреть тогда

Zombi_sib,

Zombi_sib,

Zombi_sib, вот
Миниатюры
Чтение, сортировка и запись в массив   Чтение, сортировка и запись в массив   Чтение, сортировка и запись в массив  

Чтение, сортировка и запись в массив  
0
 Аватар для Zombi_sib
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
30.06.2018, 08:30
Вот как и обещал сделал
Вложения
Тип файла: zip PRReadWrite v2.zip (1,023.5 Кб, 5 просмотров)
2
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
24.12.2019, 15:44  [ТС]
данные эти
Вложения
Тип файла: zip Attachments_etopoxyz@yandex.ru_2019-12-03_16-17-03.zip (6.19 Мб, 2 просмотров)
0
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
25.12.2019, 16:08  [ТС]
Zombi_sib,
Вот в папке годы первая версия данные уже в текстовом формате.
И вот с ними программа MU 7 работает. Выводит файл годовой как показано во вложении для примера 2000 год
А вот Нужно как в этой программе чтоб работало для данных других, немного измененных.....
Так далее представлены исходные данные...И уже обработанные годы
Вот обработанные данные и нужно выводить далее в средние значения как в программе MU
Данные в папке out
Вложения
Тип файла: rar годы первая версия.rar (17.61 Мб, 1 просмотров)
Тип файла: rar 2000 - копия.rar (85.0 Кб, 1 просмотров)
Тип файла: rar argo.rar (16.15 Мб, 1 просмотров)
Тип файла: rar out.rar (3.55 Мб, 1 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2019, 16:08

Чтение из файла, запись и сортировка по месяцам
Здравствуйте! Как можно универсально написать код, который можно использовать в дельфи и матлабе (я буду тоже позже пробовать в...

Запись и чтение структуры из файлов, сортировка по полю
у меня есть 2 проги в одной создается файл а в другой обработка #include &lt;cstdio&gt; const char fileName =...

Запись строки в массив, сортировка, удаление и запись в файл
Нужна помощь. Из edit box к нам приходят строки мы их фильтруем. нужно строки записать в массив, отсортировать по последним двум...

Чтение из файла и запись в массив
Добрый день. Я застрял на приведении типов при чтении строки из файла и попытке записи ее элементов в List teacher. Вот так у меня...

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


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

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

Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru