![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Iren |
![]()
Сообщение
#1
|
Гость ![]() |
Надо к завтрашнему дню сдать две задачи (крайний срок), сама виновата, дотянула донельзя.
Очень прошу, помогите решить: 1. Описать функцию sum(A, S1, S2), вычисляющую сумму тех элементов матрицы А, номера строк и столбцов которых принадлежат соответственно непустым множествам S1 и S2 типа ном. const n=10; type номер=1..n; матрица=array [номер, номер] of real; ном = set of номер 2. В данном файле целых чисел с элементами A1, A2, …, AN (N — количество элементов в файле). Заменить исходное расположение его элементов на следующее: A1, AN, A2, AN–1, A3, … . Очень прошу помогите... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Насчет первой - все просто:
const |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Вторая (предполагая, что файл F: File Of Integer уже имеется на диске):
var |
Iren |
![]()
Сообщение
#4
|
Гость ![]() |
ГИГАНТСКОЕ Вам спасибо To: volvo , вторую программу я еще не смотрела, а вот по первой возникло несколько вопросов:
1. На экран у меня почему-то выводятся две абсолютно одинаковые матрицы. 2. Наверное лучше сделать ввод матрицы вручную (тоесть убрать RANDOM), но как это сделать. Или оставить ввод случайных чисел |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата 1. На экран у меня почему-то выводятся две абсолютно одинаковые матрицы. ![]() Цитата 2. Наверное лучше сделать ввод матрицы вручную for i := 1 to size do |
Iren |
![]()
Сообщение
#6
|
Гость ![]() |
Извините, но ведь в задаче сказано матрица=array [номер, номер] of real, а у вас написано of integer???
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Iren, извините, а что, так трудно поменять? Или Вы предпочитаете писать остальные программы самостоятельно?
![]() |
Guest |
![]()
Сообщение
#8
|
Гость ![]() |
Да нет, вы меня неправильно поняли, извините если я Вас обидела.
Просто если я изменяю тип массива на real, появляется ошибка несоответствия типов, а если я меняю на real еще и оставшиеся типы, то появляется ошибка "Недопустимая управляющая переменная оператора for'... Еще раз простите... |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
![]() const |
Iren |
![]()
Сообщение
#10
|
Гость ![]() |
Еще раз спасибо Вам большое за помощь ...
|
Iren |
![]()
Сообщение
#11
|
Гость ![]() |
С первой задачкой все супер, большое вам спасибо...
Но вот со второй разобраться никак не получается, не могу понять принципа ее работы: создаю файл f_in.dat с числами, пытаюсь запустить программу, но появляется ошибка disk read error, может быть лучше сделать создание файла, а не использование готового (как я поняла, для этого достаточно изменить rewrite на write???)... |
klem4 |
![]()
Сообщение
#12
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
приведи пожалуйста текст того, то ты запускаешь, + как ты можешь сама создать типизированный файл ? Это только программно можно сделать ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата как я поняла, для этого достаточно изменить rewrite на write ![]() Assign(f, 'f_in.dat'); Rewrite(f);и вставить этот фрагмент перед открытием файла для чтения (т.е. сразу после первого Begin) в моей программе... |
Guest |
![]()
Сообщение
#14
|
Гость ![]() |
Вставила, но получается просто пустой файл создается
![]() |
Iren |
![]()
Сообщение
#15
|
Гость ![]() |
Вставила, но получается просто пустой файл создается
![]() |
Iren |
![]()
Сообщение
#16
|
Гость ![]() |
Цитата приведи пожалуйста текст того, то ты запускаешь, + как ты можешь сама создать типизированный файл ? Это только программно можно сделать ... Код var arr: array[1 .. 100] of integer; i, n: integer; f: file of integer; begin Assign(f, 'f_in.dat'); Rewrite(f); Write('Количество элементов: '); ReadLn(n); for i := 1 to n do begin write('a[', i:2, '] = '); readln(arr[1]); write(f, arr[1]); { именно 1 а не i } end; close(f); assign(f, 'f_in.dat'); reset(f); n := 0; while not eof(f) do begin inc(n); read(f, arr[n]); end; rewrite(f); for i := 1 to n div 2 + n mod 2 do begin write(f, arr[i]); if i <> (n - i + 1) then write(f, arr[n - i + 1]); end; close(f); end. |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Ozzя, я для кого написал в комментариях { именно 1 а не i } ??? Внимательно читать будем или будем все по-диагонали?
Iren, все должно работать... Сейчас проверю... |
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Iren, все прекрасно работает... Какой "пустой" файл? Ты размер его видела? То, что этот файл НЕ просматривается обычным редактором - это не значит, что он пустой. Внимательно перечитай задание:
Цитата В данном файле целых чисел с элементами A1, A2, …, AN (N — количество элементов в файле). Заменить исходное расположение его элементов на следующее: A1, AN, A2, AN–1, A3, … . Это файл НЕ текстовый, а типизированный... Его надо не только создавать, но и просматривать программно... |
Iren |
![]()
Сообщение
#19
|
Гость ![]() |
Цитата Это файл НЕ текстовый, а типизированный... Его надо не только создавать, но и просматривать программно... А как это реализовать: надо что-то добавить в эту программу или писать отдельную??? |
Iren |
![]()
Сообщение
#20
|
Гость ![]() |
И еще: как я поняла данная программа создает новый типизированный файл, затем в него вводятся целые числа (в порядке A1, A2 ... AN), затем программа изменяет порядок этик целых чисел ( A1, AN, A2, AN–1, A3, … ).
Но мне непонятен один момент: в программе вводится только число элементов, но не они сами. Ведь так ??? |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 9:52 |