Andrew10
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Kuraj 1. В приведенном куске есть ошибка. Имя массива совпадает с его размером. Имя должно быть другим 2. Длина массива n должна быть описана целой переменной. integer n 3. Непонятно, зачем описаны переменные b1 и b2. Они нигде не используются. 4. Насколько я понял из первого пункта задания, необходимо, чтобы все числа выводились в ОДНУ СТРОКУ. При использовании для вывода оператора print *, (n(i), i=1,n) в строке будет печататься только несколько чисел, зависит от текущей ширины консольного вывода. Для того, чтобы печаталось все в одной строке, нужно использовать форматный вывод, что-нибудь вроде этого: write(*,1000) (a(i), i=1,n) 1000 format(1x,<n>f15.7) 5. Вводить данные лучше из файла, а не с консоли, тогда не придется многократно набирать кучу цифр. Для этого открываешь в начале программы файл командой open(unit=11,file='matrix.dat',status='old') потом данные считываются не с консоли, а из этого файла, для этого вместо оператора read * используешь read(11,*). Здесь 11- номер устройства ввода, к которому присоединен файл , и которое указано в операторе open. На диске создаешь файл с именем matrix.dat и, например, таким содержанием: 7 1.1 2.2 3.3 4.4 5.5 6.6 .... ..... ..... В первой строке файла должно быть целое число - длина массива Во второй и последующих строках - действительные числа через пробел, в произвольном количестве на каждой строке. В конце программы следует закрыть файл оператором close(11) Как получится первый пункт, пробуй написать для второго, не будет получаться, задавай вопросы. А что имеется ввиду в последнем предложении задания, я тоже не пойму. Лучше уточнить у преподавателя или сокурсников. Удачи! | Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 15:31 25-11-2009 | Исправлено: Andrew10, 13:48 26-11-2009 |
|