Вопрос № 152635: Здравствуйте уважаемые эксперты вот задачи : 1) найти номер максимального элемента таблицы a[1..10] 2)Дано предложение(я так понял его нужно ввести самому с клавиатуры).Определить количество слов в нём <img src="http://rusfaq.ru/ima...
Вопрос № 152661: Здравствуйте дорогие эксперты , помогите пожалуйста решить задачу: Упорядочить массивы X(K) , Y(K) K=350 по возрастанию суммы Xi + Yi. заранее СПАСИБО....Вопрос № 152670: Здравствуйте. Есть задача реализовать сортировку массива методом выбора и вывести число сравнений и перестановок. Реализовал без всяких массивов, только через указатели. В связи с чем есть вопросы: почему нельзя использовать размерность массивов б...Вопрос № 152689: Помогите пожалуйста с задачей: Найти сумму всех целых чисел, дающих при делении на 5 в остатке 3, из отрезка [
AB]. ...Вопрос № 152744: Помогите нужно написать программу задание такое : Координаты точек x и y пятимерного арифметического пространства заданы двумя векторами x(5) и y(5). Координаты точки Z этого же пространства являются средним арифметическим координат точек x и y. ...Вопрос № 152746: Дано натуральное число n и числа b0 = 1, b1 = 1, bk = k2 bk-1 + bk-2 k = 2, 3, …, n. Вычислить bn и распечатать.написать в паскаль...
Вопрос № 152.635
Здравствуйте уважаемые эксперты вот задачи :
1) найти номер максимального элемента таблицы a[1..10] 2)Дано предложение(я так понял его нужно ввести самому с клавиатуры).Определить количество слов в нём
1) Поиск максимального элемента для массива a[1..10]: var a: array [1..10] of integer; max, k, i: integer; //max - макс. элемент, k - индекс макс. элемента begin max:=a[1]; k:=1; for i:=2 to 10 do if max<a[i] then begin max:=a[i]; k:=i; end; writeln(k); end.
2) var st: string; i, k: integer; begin writeln("Введите строку:"); readln(st); k:=1; for i:=0 to length(st) do
if st[i] = ' ' then k:=k+1; //считаем кол-во пробелов writeln("слов - ",k); end.
В принципе любой из приведенных кодов можно доработать (проверка корректности ввода, к примеру)
Ответ отправил: 6a3uJI (статус: 6-й класс)
Ответ отправлен: 02.12.2008, 17:31
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237370 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: Шемет Станислав Васильевич
Здравствуйте, MyNameIsRuZ! как мне надоело что надо обязательно что то здесь писать, ведь ответ в приложении... прошу не обижаться на меня, но у меня есть ответ на задачу но нечего сказать
Упорядочить массивы X(K) , Y(K) K=350 по возрастанию суммы Xi + Yi.
заранее СПАСИБО.
Отправлен: 02.12.2008, 19:44
Вопрос задал: Boss186 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Пупорев Юрий Борисович
Здравствуйте, Тателадзе Георгий Мамукович! Массив размерность 350 элементов в учебных целях, это конечно по кавказски, с размазом, но я оставил 20, хоть проверить можно. Решение в приложении. В принципе обычная сортировка, только сразу двух массивов.
Приложение:
Ответ отправил: Пупорев Юрий Борисович (статус: Специалист)
Ответ отправлен: 02.12.2008, 21:07
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237414 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 152.670
Здравствуйте. Есть задача реализовать сортировку массива методом выбора и вывести число сравнений и перестановок. Реализовал без всяких массивов, только через указатели. В связи с чем есть вопросы: почему нельзя использовать размерность массивов больше 16? Программа либо вылетает, либо виснет. Думаю, что адрес после 16 элемента выходит за пределы кучи или еще какой-то спец. области памяти. Можно ли эту процедуру как-то красиво оформить через getmem()? Почему в процедуре sort_choice компилятор выдает
ошибку на dispose() для любого локального для процедуры указателя (прав я или нет - передается адрес глобального указателя, который не стоит обнулять)? И как все-таки правильно работать с процедурами new() и dispose()? Например, если я в самом конце программы ставлю dispose(globalptr) (естественно, в начале new(globalptr)), то компилятор выдает runtime error 204 at xxxx:yyyy. И почему указатель свободно используется в операциях присваивания даже без new() для него?<
br>Есть подозрение на сам компилятор, т.к. скачал его черт знает откуда (даже в заголовке написано "техподдержка на http").
Приложение:
Отправлен: 02.12.2008, 20:49
Вопрос задал: Vitaliy (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Vitaliy!
Посмотрите на результат компиляции Вашей программы:
При компиляции программы во все переменные по умолчанию подставляется 0. word_1732:word_1734 это и есть переменная globalptr:point;. Когда Вы передаете в подпрограмму указатель на якобы массив, Вы передаете адрес (сегмент:смещение) на таблицу прерываний(системных функций) DOS и BIOS, с помощью которых работает вся сист
ема. Структура данных хранящихся в этой таблице: прерывание 00h=(сегмент:смещение)адрес=0000:0000,прерывание 01h=(сегмент:смещение)адрес=0000:0004, и т.д. до прерывания 0FFh. point=^integer; используя такую запись переменной, Вы определяете адрес(сегмент:смещение) на область памяти размером два байта. В подпрограммах при выполнении команд ptr^:=random(100);inc(ptr); Вы изменяете область памяти на которую указывает указатель и увеличиваете его на два байта, а таблице прерываний на один указатель
отводится четыре байта, т.е. 2*16/4=8. Таким образом Вы "затираете" прерывание 08h, которое вызывается 18.2 раза в секунду, т.к. это прерывание системного таймера. Куда попадает управление после очередного его вызова - одному богу известно.
Подпрограммы Dispose и FreeMem cообщают об этой ошибке, если указатель равен NIL или указывает на адрес вне кучи.
Константа NIL это и есть те самые 0000h:0000h. Именно по этому у Вас и выскакивает ошибка. Процедуры new() и dispose() - это процедуры для работы с типизированными типами данных(т.е. размер самой переменной подтавляет компилятор), getmem()
и freemem() - процедуры работают с переменными любой длины, но длину этой переменной, на которую указавает указатель, программист должен указывать сам. Работа с этими процедурами многогранна, всё описывать не буду. В приложении программа создающая связанный список ( одномерный массив ), меняет местами два элемента в голове этого списка.
Вопросы задавайте в мини-форум. Удачи!
Приложение:
--------- Итерация от человека, рекурсия — от Бога (Питер Дойч)
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 03.12.2008, 13:55
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237496 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Вопрос № 152.689
Помогите пожалуйста с задачей: Найти сумму всех целых чисел, дающих при делении на 5 в остатке 3, из отрезка [AB].
const a = 4; b = 10; var sum,i: integer; begin sum := 0; for i:=a to b do if (i mod 5 = 3) then sum := sum + i; writeln(sum); readln; end.
--------- Самурай без меча подобен самураю с мечом, только без меча..
Ответ отправил: SHERRY (статус: Студент)
Ответ отправлен: 02.12.2008, 22:44
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237424 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Большое спасибо за ответ, очень помог.
Отвечает: Andersen
Здравствуйте, Александр С! Вот вариант функции которая решает задачу
Приложение:
Ответ отправил: Andersen (статус: 1-й класс)
Ответ отправлен: 03.12.2008, 10:41
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237472 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Вам тоже спасибо за ответ!
Вопрос № 152.744
Помогите нужно написать программу задание такое : Координаты точек x и y пятимерного арифметического пространства заданы двумя векторами x(5) и y(5). Координаты точки Z этого же пространства являются средним арифметическим координат точек x и y. Вычислить и распечатать координаты точки Z.
Отправлен: 03.12.2008, 12:32
Вопрос задала: Lyalya3 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Шевченко Дмитрий
Здравствуйте, Lyalya3!
В приложении код программы со всеми пояснениями.
С уважением, Дмитрий.
Приложение:
Ответ отправил: Шевченко Дмитрий (статус: 6-й класс)
Ответ отправлен: 03.12.2008, 16:25
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237516 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 152.746
Дано натуральное число n и числа b0 = 1, b1 = 1, bk = k2 bk-1 + bk-2 k = 2, 3, …, n. Вычислить bn и распечатать.написать в паскаль
Отвечает: 6a3uJI
Здравствуйте, Smirnov artem vlad! Я так понял, что b(k) = b(k-1)+b(k-2). Для данного случая вот код: uses crt; var n:integer; function Rec(m:integer):longint; var sum:longint; begin sum:=0; if m=0 then sum:=0; if m=1 then sum:=1; if m>1 then sum:=rec(m-1)+rec(m-2); //или введи другую формулу для b(k) Rec:=sum; end; begin clrscr; write('n='); readln(n); writeln('b',n,'=',Rec(n)); end.
Ответ отправил: 6a3uJI (статус: 6-й класс)
Ответ отправлен: 03.12.2008, 13:19
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237490 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.