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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2012, 20:48   #11
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Евгения17
Fortran 90
Если там ещё и GOTO меньше стало от этого..

Цитата:
Сообщение от Евгения17 Посмотреть сообщение
Что вы написали по пунктам (кроме пункта 2)-из чтения книг я это поняла
C++
Код:
#include <iostream>

int kplus1( int k ) {
   k = k + 1 ;
   int k2 = k ;
   return k2 ;
} 

main() {
   int k1 = 1 ;
   int k2 = kplus1( k1 ) ;
   std::cout << k1 << ' ' << k2 << std::endl ;
   return 0 ;
}
FORTRAN
Код:
      INTEGER FUNCTION KPLUS1( K )
         INTEGER K 
         K = K + 1
         KPLUS1 = K
         RETURN
      END

      INTEGER   K1 /1/, K2
      K2 = KPLUS1( K1 )
      PRINT *, K1, K2
      STOP
      END
Разберитесь, почему C выдаёт 1 и 2, а Фортран - две двойки. Можете и не разбираться, конечно, но тогда - очень быстро нарвётесь...
Цитата:
Сообщение от Евгения17
Операторы COMMON-есть
Ну как же без них!.. Ну тогда extern в помощь.

Цитата:
Сообщение от Евгения17
Вопрос про трюки с приведенным индексом мне не понятен
В данном случае это хорошо. Будем надеяться, что их нет. Если всё-таки наткнётесь где-то в Фортране на место, где в п/п передаётся двумерный массив, а в самой п/п он объявлен как одномерный, тогда объясню.

Цитата:
Сообщение от Евгения17
Почему именно написала еще сюда свой вопрос с переписыванием, т.к. в интернете прочитала, что при переписывание программы с фортрана на с++ не очень в этом разбираясь можно увеличить память и время работы программы
То есть Вы хотите добиться того, чтобы программа стала жрать больше памяти и медленнее работать?
Vago вне форума Ответить с цитированием
Старый 20.02.2012, 20:27   #12
Евгения17
Пользователь
 
Регистрация: 12.02.2012
Сообщений: 12
По умолчанию

Я хочу, что бы программа работала быстрее и поэтому поводу я слышала про распараллеливание процессов
Евгения17 вне форума Ответить с цитированием
Старый 20.02.2012, 21:00   #13
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

А-а... Ну да. Человек, не написавший доселе ни строчки на C++, будет потоки программировать...

Может проще было бы OpenMP к Фортрану прицепить?..
Vago вне форума Ответить с цитированием
Старый 21.02.2012, 18:40   #14
Евгения17
Пользователь
 
Регистрация: 12.02.2012
Сообщений: 12
По умолчанию

Извините за свою настойчивость.Да, я новичок в программирование и мне, читая книжки, не так все легко дается и полностью согласна на счет вашего последнего сообщения, но пере до мной именно задачка поставлена была переписать. Желание есть все освоить и разобраться!!!И хотела тут же задать вопос:вы писали про extern, но что то мне не понятно как применять
Евгения17 вне форума Ответить с цитированием
Старый 21.02.2012, 19:30   #15
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Да, просто, как-то мне Вас ... жалко, что-ли.... Потратите Вы кучу времени, перепишете программу, отладите... С муками, но сделаете. А она, программа эта, не даст ожидаемого Вашими преподавателями(?) увеличения быстродействия! Не потому, что Вы что-то сделали неправильно, а потому что если один и тот же мат. метод для решения вычислительной задачи запрограммировать "в лоб" на Си и на Фортране, то Фортрановский код почти наверняка будет считать на 10-15% быстрее, чем C-шный. А виноватой в том, что улучшения не будет, окажетесь ВЫ, а отбиться от упрёков - у Вас опыта нет...

Цитата:
Сообщение от Евгения17 Посмотреть сообщение
вы писали про extern, но что то мне не понятно как применять
Что такое "область видимости" знаете? "Локальная переменная", "глобальная переменная" - в чём разница понимаете? Что делает фортрановский оператор COMMON представляете?.. K&R раздел 1.10 читали?..
Vago вне форума Ответить с цитированием
Старый 02.03.2012, 17:58   #16
Евгения17
Пользователь
 
Регистрация: 12.02.2012
Сообщений: 12
По умолчанию

При переписывание программы из фортрана в С++ возникло непонимание нескольких вещей (может вопросы и глупые, но я новичок в этом деле и разбирая примеры при изучение появилась некоторая путаница):confu sed::
1. в программе были определены внешние переменные:
float a[5] [200] [100], b[100] [200],c[5];
float d[100] [100],e[100] [100],f[5]
при объявление их в функции (в этой же файле) и присвоение им значения необходимо снова указывать тип переменных, т.е.
float с=50;
float f=45;
или можно просто сразу присваивать значение
с=50;
f=45;
2. как передать структуру в функцию?
Можно так:
объявили структуру
struct rabota
{
float a[5],b[5] [100] ;
int i,j;
};
при передачи в функцию:
void main (rabota)
a=10
....
3. В программе в фортране встречается оператор dimension, а как он будет выглядеть в С++
Евгения17 вне форума Ответить с цитированием
Старый 02.03.2012, 19:58   #17
Евгения17
Пользователь
 
Регистрация: 12.02.2012
Сообщений: 12
По умолчанию

Как в функции возводить число в степень?В фортране было **, а в С++???
Евгения17 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто может помочь с Фортраном Иван89 Помощь студентам 1 23.11.2011 11:10
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00