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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2011, 12:17   #11
Dj_Leff
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Vago Посмотреть сообщение
О, Господи!..

ФАЙЛ С ИСХОДНЫМИ ДАННЫМИ мне дай, пожалуйста!! Или напиши (если их только с консоли вводили), ЧТО (КАКИЕ ЧИСЛА) ВВОДИТЬ?!

Added 20:52 CET:
Ещё раз "О, Господи!" - она только с консолью и умеет работать!...

Оператор open сделай таким:
Код:
      open(1,file = 'con' )
Больше, не имея конкретных исходных данных, я не могу сказать ничего.
Привет еще раз. Извини, сразу не понял тебя, исходник прикрепляю.
Программа действительно работала через Norton Commander.
В изначальном варианте нужно было вводить имя файла.
Но как изменить open(1,file = ' ' ), чтобы программа читала имя файла с клавиатуры?
Вложения
Тип файла: rar DATA_02.rar (924 байт, 4 просмотров)

Последний раз редактировалось Dj_Leff; 10.05.2011 в 12:29.
Dj_Leff вне форума Ответить с цитированием
Старый 10.05.2011, 12:45   #12
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Dj_Leff Посмотреть сообщение
В изначальном варианте нужно было вводить имя файла.
Но как изменить open(1,file = ' ' ), чтобы программа читала имя файла с клавиатуры?
1. Где-нибудь, вверху текста, среди деклараций, вставляешь
Код:
	character*256 file1Name
2. После оператора pause добавляешь что-то типа
Код:
      print *, 'Enter the input file name (con for console) ?'
      read *, file1Name
3. Оператор open делаешь таким:
Код:
      open(1,file = file1Name)
Vago вне форума Ответить с цитированием
Старый 10.05.2011, 13:12   #13
Dj_Leff
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Vago Посмотреть сообщение
1. Где-нибудь, вверху текста, среди деклараций, вставляешь
Код:
	character*256 file1Name
2. После оператора pause добавляешь что-то типа
Код:
      print *, 'Enter the input file name (con for console) ?'
      read *, file1Name
3. Оператор open делаешь таким:
Код:
      open(1,file = file1Name)
Хорошо, с этим разобрался. Сделал. Но программа должна читать и записывать данные в один и тот же файл. Но ничего не происходит. Что то подсказывает мне что виной во всем этом кодировка. Как считаешь?
Dj_Leff вне форума Ответить с цитированием
Старый 10.05.2011, 13:34   #14
Dj_Leff
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 20
По умолчанию

При построении задал кодировку Кириллица(DOS). Теперь экзешник на русском. Но при чтении наверно все же видит только кракозябры, и поэтому отказывается работать. Как исправить?

Последний раз редактировалось Dj_Leff; 10.05.2011 в 13:42.
Dj_Leff вне форума Ответить с цитированием
Старый 10.05.2011, 13:42   #15
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Dj_Leff Посмотреть сообщение
Но программа должна читать и записывать данные в один и тот же файл.
Не слишком мудрое решение, но, в принципе, ничего смертельного. Будет дописываться и дописываться, и дописываться...

Цитата:
Сообщение от Dj_Leff
Но ничего не происходит. Что то подсказывает мне что виной во всем этом кодировка. Как считаешь?
Сомневаюсь. Там только две символьные переменные - sym и text. Ни та, ни другая в операторах сравнения, по-моему, не встречаются.

Ищи льва в пустыне, - что ещё можно посоветовать.... В смысле - локализуй место ошибки. Отладочные принты на консоль или <F9>, <F5>, <F10> - в Студии....

Added 11:58 CET:
Я, для комбинации исходника TMOGI_02.FOR из #1 и входных данных DATA_02.02 из #11, получаю сообщение
Код:
Число ненулевых элементов матрицы условных уравнений            114
Ошибка при чтении вектора весов
Added 12:32 CET:
Крутi хлопцi у вас там, у Пермi!! И это ж не студенты, явно, писали!...

Использовать eof() для выхода из цикла чтения, заведомо зная, что по eof() не выйдешь, а вместо этого - выходить по ошибке!!..

Во входном файле: заканчивается колонка по три числа. Потом идёт пустая строка. Потом - какой-то комментарий (неважно какой). Потом - 35 чисел. Так вот, в этой самой пустой строке набей хотя бы один (неважно какой) символ:
Код:
...
9 35  0.976
*
‚ҐЄв®а ўҐб®ў:
1 1 1 1 1 1 1 1 1 1.345 1.281 0.955 0.586 1.041 1.826 1.517 1.261 1 1 1 1 1 2.035 1.353 1.105 1.936 1 1 1 1 1 1.047 1.001 0.815 0.767
‚ҐЄв®а *Ґўп§®Є:
...

Последний раз редактировалось Vago; 10.05.2011 в 14:32.
Vago вне форума Ответить с цитированием
Старый 10.05.2011, 14:21   #16
Dj_Leff
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Vago Посмотреть сообщение
Не слишком мудрое решение, но, в принципе, ничего смертельного. Будет дописываться и дописываться, и дописываться...


Сомневаюсь. Там только две символьные переменные - sym и text. Ни та, ни другая в операторах сравнения, по-моему, не встречаются.

Ищи льва в пустыне, - что ещё можно посоветовать.... В смысле - локализуй место ошибки. Отладочные принты на консоль или <F9>, <F5>, <F10> - в Студии....

Added 11:58 CET:
Я, для комбинации исходника TMOGI_02.FOR из #1 и входных данных DATA_02.02 из #11, получаю сообщение
Код:
Число ненулевых элементов матрицы условных уравнений            114
Ошибка при чтении вектора весов
Спасибо, я тоже заметил что тормозит при чтении вектора весов.
Но оригинальный экзешник читает data_02.02 и считает без проблем.
Значит нужно подправить чтение вектора весов. Но я ума не приложу, например, что за условие ierr.ne.0, подскажи что нужно подправить?
Dj_Leff вне форума Ответить с цитированием
Старый 10.05.2011, 14:33   #17
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Разминулись... См. Added 12:32 CET: выше, в моём #15.
Vago вне форума Ответить с цитированием
Старый 10.05.2011, 14:46   #18
Dj_Leff
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Vago Посмотреть сообщение
Разминулись... См. Added 12:32 CET: выше, в моём #15.
Спасибо, дорогой друг!!! Все получилось(наконец-то))) и работает!!!
Только не пойму с этим eof(), он ведь еще ниже в коде встречается, где чтение весовых функций. Или там пофиг, потому, что считывание данных заканчивается?
А вы бы как поступили с циклами, где eof()? На что бы заменили?
Dj_Leff вне форума Ответить с цитированием
Старый 10.05.2011, 15:00   #19
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Dj_Leff Посмотреть сообщение
Спасибо, дорогой друг!!! Все получилось(наконец-то))) и работает!!!
Пожалуйста Замечательно Поздравляю!

Цитата:
Сообщение от Dj_Leff
Или там пофиг, потому, что считывание данных заканчивается?
Да. Именно так.

Цитата:
Сообщение от Dj_Leff
А вы бы как поступили с циклами, где eof()? На что бы заменили?
Надо подумать Но вот входной и выходной файлы - разделил бы всенепременно.
Vago вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Win32 GUI приложение в Code::Blocks _-Re@l-_ Общие вопросы C/C++ 5 03.04.2011 09:55
Готовое приложение скомпилировать под Linux divers Qt и кроссплатформенное программирование С/С++ 0 27.01.2011 18:44
Ищу программиста C#-Win32 приложение light_san_ Фриланс 3 10.11.2010 12:22
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
Как скомпилировать приложение под линукс из visual studio 2010 i.pas Qt и кроссплатформенное программирование С/С++ 1 22.07.2010 14:08