Форум программистов, компьютерный форум, киберфорум
Fortran
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для Mederti
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 24

Ввод элементов из файла в матрицу заданного размера

20.04.2018, 17:51. Показов 3532. Ответов 9

Студворк — интернет-сервис помощи студентам
Госпади снова этот фортран. Помогите.

суть такая.
Необходимо образовать матрицу М(2,3) (2 строки и 3 столбца???). значения получить из файла.
Создал три файла. В первом записаны в строку, во втором в столбик, в третьем так, как на выходе эту матрицу нужно вывести должно получиться.


сам код:
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 program mm
       implicit none
       integer i
       real A(2,3)
       !использую лишь только один файл из трех!!
       open (1, file="D:\krf\f1.txt", status="old")
       open (1, file="D:\krf\f2.txt", status="old")
       open (1, file="D:\krf\f3.txt", status="old")
 
       do i=1,3
          read (1,*) A(1,i)
       enddo
       do i=1,3
          read (1,*) A(2,i)
       end do
 
       write (*,*) A(1,1),A(1,2), A(1,3)
       write (*,*) A(2,1),A(2,2), A(2,3)
       write (*,*) A
 
       read (*,*)
       end
По файлу f1.txt программа не запускается.
f2.txt - запускается.
f3.txt не запускается.
В чем проблема для f1 и f3? как упростить (оптимизировать) ввод и вывод для каждого файла в отдельности?!

Компилятор force 2.0, win10!
Показываю проблему на простом примере ибо у меня гораздо более длинные матрицы.
Вложения
Тип файла: txt f1.txt (11 байт, 4 просмотров)
Тип файла: txt f2.txt (16 байт, 2 просмотров)
Тип файла: txt f3.txt (12 байт, 2 просмотров)
Тип файла: zip Source2.zip (326 байт, 3 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.04.2018, 17:51
Ответы с готовыми решениями:

Заполните квадратную матрицу заданного размера числами из данного файла
Пусть дан файл целых чисел. Заполните квадратную матрицу заданного размера числами из этого файла. Проверьте, есть ли в сформированной...

Сформировать из положительных элементов файла квадратную матрицу максимально возможного размера
Дан файл f.Сформировать из его положительных элементов квадратную мутрицу максимально возможного размера.буду очень благодарен ...

Наберите матрицу заданного размера
Наберите матрицу А заданного размера mxn. Aij=i-j, i=1..4, j=1..3. Ребята, помогите, что тут надо сделать?

9
 Аватар для Krasme
7251 / 5104 / 2151
Регистрация: 02.02.2014
Сообщений: 13,466
20.04.2018, 18:10
Цитата Сообщение от Mederti Посмотреть сообщение
лишь только один файл из трех!!
но при одновременном открытии файлов у каждого д.б. свой номер...

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 program mm
       implicit none
       integer i,j
       integer A(2,3)
       open (1, file="f1.txt", status="old")
       open (2, file="f2.txt", status="old")
       open (3, file="f3.txt")
       
       !read(1,*) A
       ! или
       read(2,*) A
       
       write (3,'(3i6)') A       
       pause
end
0
 Аватар для Mederti
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 24
20.04.2018, 20:03  [ТС]
мне не нужно все три сразу открывать! мне нужно открывать каждый по-отдельности!
Знаю наверняка, что код будет отличаться.
0
 Аватар для Krasme
7251 / 5104 / 2151
Регистрация: 02.02.2014
Сообщений: 13,466
20.04.2018, 20:24
как минимум два файла у вас должны быть открыты одновременно, один для чтения, другой для записи...
0
 Аватар для Mederti
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 24
20.04.2018, 20:34  [ТС]
мне не нужно выводить в файл, я вывожу в на экран
0
 Аватар для Krasme
7251 / 5104 / 2151
Регистрация: 02.02.2014
Сообщений: 13,466
20.04.2018, 20:43
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
program mm
       implicit none
       integer i,j
       integer A(2,3)
       open (1, file="f1.txt", status="old")
       !open (1, file="f2.txt", status="old")
       !open (1, file="f3.txt")
       
       read(1,*) A
       
       write (*,'(3i6)') A       
       pause
end
0
 Аватар для Mederti
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 24
20.04.2018, 21:40  [ТС]
ок. спасибо.
странно! вроде писал (пробовал) тоже самое. но прога тупо сливалась..

теперь касаемо моего кода. Что с ним не так и почему он только со вторым файлом работал?
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,283
Записей в блоге: 3
21.04.2018, 03:55
Цитата Сообщение от Mederti
мне не нужно все три сразу открывать! мне нужно открывать каждый по-отдельности!
А если Вы их не закрываете перед тем как открыть новый файл, то получается что вместе )) , закрыть файл можно оператором close (1) цифра в скобках соответственно файлу.

Цитата Сообщение от Mederti
Что с ним не так и почему он только со вторым файлом работал?
Вам Krasme ответила. Вы пытались открыть разные файлы под одним unit-ом (под одном номером, что первый в скобках).


Можете такой код попробовать, все читается из 1-го файла:

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program test
implicit none
real :: a(2,3) 
integer :: i
 
    open(1,file='data.txt')    
    read(1,*) (a(i,:),i=1,2)     
    close (1)                   
 
    !Печатаем
    write (*,*) A(1,1),A(1,2), A(1,3)
    write (*,*) A(2,1),A(2,2), A(2,3)
    
   !То же можно вывести циклом 
    write(*,2) (a(i,:),i=1,2) 
       
2 format (3(f12.3)) !Задаем повтор 3-х позиций для вещественного цисла, 12 знаков, 3 после запятой
end
данные в файле data.txt записаны в 2 строки и 3 столбца, как нужно в массиве
1 2 3
4 5 6
0
 Аватар для Mederti
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 24
27.04.2018, 17:05  [ТС]
1)меня опять не поняли.. ладно это моя вина.. видимо не нужно было писать три файла в одном коде..
задача стояла.. как бэ написать... ТРИ ПРОГРАММЫ, ДЛЯ КАЖДОГО ФАЙЛА СВОЮ...
я писал выше, что код который я указал в топике, работает только с одним файлом. а вопрос был: как изменить код, чтобы программа работала с оставшимися другими?
(или что мне нужно было три программы писать? они для меня изначально были идентичны.)

2)ладно это все ерунда
проблема другая возникла
ввожу данные через код
Fortran
1
2
3
4
5
real qv, alfa, lambd
....
lambd=0.03
....
print *, lambd
итог:
Название: 1.PNG
Просмотров: 41

Размер: 748 байт
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,283
Записей в блоге: 3
28.04.2018, 09:22
Да не обращайте на это внимания. Это особенности представления чисел в памяти компа. Это не с фортраном связно.

Если напишите вот так
Fortran
1
2
3
4
5
real qv, alfa, lambd
lambd=0.03
print 2, lambd
2 format (f8.3)
end
то получите результат 0.030
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2018, 09:22
Помогаю со студенческими работами здесь

Создать обыновенную матрицу заданного размера
Доброго вечера! Только начал учить Пайтон 3.1, скажите, как создать самую обыкновенную матрицу размера n*m и как заполнить ее числами....

Заполнить матрицу заданного размера M(k,l) числами 1,2,3,4
Заполнить матрицу заданного размера M(k,l) числами 1,2,3,4 так, чтобы по горизонтали, вертикали и диагонали не было одинаковых рядом...

Транспонировать и вывести матрицу заданного размера
С помощью процедуры обработки матрицы с параметром процедурного типа ввести, транспонировать и вывести матрицу заданного размера.(сделать...

Ввод данных пользователем в матрицу произвольного размера
Помогите создать матрицу, чтобы пользователь самостоятельно вводил переменные. В коде выдаёт ошибку в последнем end. Uses crt; ...

Сформировать матрицу заданного размера, используя подпрограммы
Сформировать матрицу без подпрограммы нет проблем, с подпрограммой сформировать матрицу размера n на m не получается, помогите пжлст


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru