Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2008, 15:40   #1
Walk_Al0ne
 
Регистрация: 11.06.2008
Сообщений: 3
По умолчанию Две простые задачи по Fortran

Прошу помочь, нужно до субботы решить две задачи по фортрану, я сам в программировании полный ноль (((
1. Дана последовательность из N символов.Определить число вхождений в эту последовательность группы букв "ab"
2. Перестановки двух строк с заданными номерами в прямоугольной матрице. Желательное условие: должна присутствовать подпрограмма
2.1 - задача 2, но данные должны загружаться и выводиться в отдельные файлы.

Заранее спасибо!
Walk_Al0ne вне форума Ответить с цитированием
Старый 11.06.2008, 15:58   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

И что, Вы ждёте, что за Вас их напишут? Или показывайте свои мысли, или - Фриланс.
B_N вне форума Ответить с цитированием
Старый 13.06.2008, 17:26   #3
Walk_Al0ne
 
Регистрация: 11.06.2008
Сообщений: 3
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
И что, Вы ждёте, что за Вас их напишут? Или показывайте свои мысли, или - Фриланс.
Своих мыслей к сожалению немного, первую задачу я с трудом вроде домучал, а во второй всё стопорится на
program ssgsgs
implicit none
real a(100,100)
integer i,j,n,v1,v2
print *,'vvedite kol-vo stolbcov v matrice'
read *,n
if(n>100) print *,'perepolnenie massiva'
write(*,*) 'vvedite matricu'
do i=1,n
do j=1,n
read *,a(i,j)
print 2,i,j,a(i,j)
2 format('a('I3,I3,')=',f10.4)
enddo
enddo
do i=1,n
print *,(a(i,j),j=1,n)
enddo
! это выводит заполненную матрицу
print *,'vvedite nomer stolbca dlya zameny1'
read *,v1
print *,'vvedite nomer stolbca dlya zameny2'
read *,v2
call zamena(a,n)
print *,'novaya matrica ravna'

print 3,i,j,a(i,j)
3 format('a('I3,I3,')=',f10.4)
do i=1,n
print *,(a(v1,j),j=1,n)
end do
end

subroutine zamena(a,n)
implicit none
integer i,j,n,v1,v2
real a(100,100)
do j=1,n
Дальше по идее в подпрограмме нужно задать цикл, менющий столбцы местами, но чтобы бы я туда записать не пытался, всё время после вводы данных выдаёт ошибку (((

Последний раз редактировалось Walk_Al0ne; 13.06.2008 в 17:29.
Walk_Al0ne вне форума Ответить с цитированием
Старый 13.06.2008, 19:00   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Код:
        program ssgsgs
        implicit none
        
        real a(100,100)
        integer i,j,n,v1,v2


        DO 
            print *,'vvedite kol-vo stolbcov v matrice'
            read *,n
            IF (N > 1 .AND. N <= 100) EXIT
            print *,'Nevernaya razmernost'
        END DO
        
        write(*,*) 'vvedite matricu'

2       format('a('I3,I3,')=',f10.4)

        do i=1,n
            do j=1,n
                read *,a(i,j)
                print 2,i,j,a(i,j)
            enddo
        enddo

        CALL PRINT_MATRIX (A, N)
        
! после этого выводится заполненная матрица
        print *,'vvedite nomer stolbca dlya zameny1'
        read *,v1
        print *,'vvedite nomer stolbca dlya zameny2'
        read *,v2
        call zamena(a, n, v1, v2)
        print *,'novaya matrica ravna'

        CALL PRINT_MATRIX(A, N)       
        READ *
        
        CONTAINS
        
        
        subroutine zamena(MATRIX, N, COL1, COL2)
        REAL :: MATRIX(:,:)
        INTEGER N, COL1, COL2
        INTEGER I, J
        REAL    TMP

        DO I = 1, N
            TMP = MATRIX(I, COL1)
            MATRIX(I, COL1) = MATRIX(I, COL2)
            MATRIX(I, COL2) = TMP
        END DO
        END SUBROUTINE !zamena
        

! Печать матрицы

        SUBROUTINE PRINT_MATRIX(MATRIX, N)
        REAL    :: MATRIX(:,:)
        INTEGER :: N
        ! local
        INTEGER I, J

        DO I = 1, N
            PRINT *,(MATRIX(I, J), J = 1, N)
        END DO      
        
        END SUBROUTINE !PRINT_MATRIX
        
        END PROGRAM
И стоит, наверное, всё-таки подумать о динамическом массиве...
B_N вне форума Ответить с цитированием
Старый 13.06.2008, 23:36   #5
Walk_Al0ne
 
Регистрация: 11.06.2008
Сообщений: 3
По умолчанию

спасибо, ещё небольшой вопрос - какой командой можно поместить ответ в отдельный текстовый файл?
Walk_Al0ne вне форума Ответить с цитированием
Старый 14.06.2008, 00:19   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Walk_Al0ne Посмотреть сообщение
спасибо, ещё небольшой вопрос - какой командой можно поместить ответ в отдельный текстовый файл?
WRITE. Скажем так:

Код:
        SUBROUTINE WRITE_MATRIX(MATRIX, N)
        REAL    :: MATRIX(:,:)
        INTEGER :: N
        ! local
        INTEGER I, J

        OPEN (100, FILE = 'C:\OUT.TXT')       
        DO I = 1, N
            WRITE (100,*),(MATRIX(I, J), J = 1, N)
        END DO
        CLOSE (100)
        
        END SUBROUTINE !WRITE_MATRIX
B_N вне форума Ответить с цитированием
Старый 25.06.2008, 16:12   #7
cope
Новичок
Джуниор
 
Регистрация: 25.06.2008
Сообщений: 1
По умолчанию

Привет всем!!! Помогите пожалуйста!!! дали задание - реализовать метод координатного спуска! я вообще ничего не понимаю((( а это срочно нужно... если не сложно помогите (с комментариями плиззз)! заранее спасибо!
cope вне форума Ответить с цитированием
Старый 25.06.2008, 21:34   #8
xemil
Новичок
Джуниор
 
Регистрация: 25.06.2008
Сообщений: 1
По умолчанию

здравствуйте!!!!очень срочно нужна помощь в Фортране!!!!пожалуйста помогите.......
сам я в программировании не понимаю =)
нужно написать программу расчета и вывода в файл минимум значений функций F(x,y,z)=
(x^2+y^2 , xy>0
(x+y, xy <=0
Тройки значений x, y, z выводятся из файла до тех пор пока не встретится конец файла.

примечание:
(
( - это знак системы

<= это "меньше либо равно"

Просто очень срочно сдать в институте хвост по инфе , из одногруппников никто не шарит

заранее спасибо
xemil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод кода с Fortran-77 на Delphi unhide Помощь студентам 3 20.05.2008 14:27
ЗАДАЧИ НА DELPHI С ВИДУ ПРОСТЫЕ Алексей_10_11 Помощь студентам 2 12.11.2007 17:50
Простые задачи по паскалю Kasim Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2006 08:23