| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Fortran > [General] сформировать массив |
| Автор: surius 7.5.2008, 20:30 |
| Господа, нужна помощь... Задача такая: Есть файл, обычно просматриваемый в exel. В нем 5 столбцов и 65к строк, только числа. 1-ый столбец-номер, являющийся кододом устройства, с которого снимается значение параметра 2-ой столбец-значение параметра, размерность здесь важно, просто число. 3-ий стобец время в формате чч:мм:сс (наверное лучше рассматривать как символьное значение). Остальные столбцы не сильно важны... Нужно извлечь из файла каждое 267 значение из каждого столбца, т.е на языке exel, A1, A268, A535.... и занести эти значения в первую строку массива А1-а1,1, А268-а1,2, А535-а1,3... Затем взять значени А2, А269, А536 и занести эти значения во вторую строку массива А2-а2,1, А268-а2,2, А536-а2,3... В общем и целом из 1-ого столбца исходного файла нужно сформировать массив Может кто сталкивался с такой задачей и подскажет как это реализовать с исходным exel файлом. |
| Автор: Иванофф 9.5.2008, 22:26 |
| запишите ексел файл в текстовый файл с разделителями и читайте фортраном. |
| Автор: popovda 15.5.2008, 12:17 |
| Файл запишите через запятую, а дальше так (это уж совсем в лоб): real(8), dimension(65536/267+1,5) :: Arr; real(8), dimension(5) :: tmp; integer(4) :: i; open(100,file='файл',status='old'); do i = 1,65535 read(100,*) tmp; if(mod(i-1,267)==0) Arr(((i-1)/267)+1,: ) = tmp; end do |