|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.10.2011, 14:56 | #1 |
Регистрация: 30.10.2011
Сообщений: 7
|
Задачи на обработку массивов (Delphi)
Помогите Горю на зачетной недели!!напишите пожалуйста программный код В Дельфине!!
1.Задан целочисленный одномерный массив A из N элементов. Найти номер последнего максимального значения среди нечетных (по значению) элементов, расположенных до последнего четного (по значению) элемента. Если нет четных элементов, искать до конца массива. (Подсказка: «Сначала найти первый нечетный и последний четный, а затем уже искать максимум, или вывести сообщение о причинах невозможности поиска.») 2.Задан массив С1 С2...Сn . Нужно изменить все столбцы матрица в которой равен нулю элемент главной диагонали : i-й элемент такого столбца (i=1.2...n) увеличиваеться на Ci. Найти так же сумму главных элементов диагонали. буду благодарен)) |
30.10.2011, 15:15 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) Подсказку лесом.
"Если нет четных элементов, искать до конца массива." - то есть, при этом ответом будет номер последнего из наибольших элементов? А что делать, если все элементы чётные? Тогда идём по массиву от начала, в уме (читай - в переменных) держим значение самого большого нечётного числа ("лидера") до сих пор и два номера "релиз-кандидат" (то, что будет ответом), "бета-кандидат" (номер самого большого найденного пока что нечётного числа). Изначально присваиваем кандидатам нули. Если очередной элемент - чётный, то в "релиз-кандидат" заносится "бета-кандидат" (понятно, почему?). Если очередной элемент - нечётный, сравниваем его с "лидером". Если он больше "лидера", либо "лидер" равен нулю (т.е. это первое нечётное число), заносим само число в "лидера", а его номер - в "бета-кандидата". Когда массив кончится, у нас будет либо ненулевой "релиз-кандидат" (ура, требуемое число найдено), либо нулевой "релиз", ненулевой "бета" (первое нечётное число встретилось после последнего чётного, из задания непонятно - то ли выдать "бету", то ли развести руками), либо оба кандидата нули, нечётных чисел нихт. 2) То есть, пишется функция, в которую передали массив длины n и матрицу nxn, причём как минимум матрицу по ссылке? Цикл по элементам главной диагонали (matrix[i,i]). Прибавить элемент к сумме, потом если элемент не ноль, то и фиг с ним; иначе вложенный цикл по всем строкам, к matrix[i,j] прибавляем C[j]. Из задания непонятно, нужна сумма элементов главной диагонали до или после изменения, во втором случае нужно будет прибавить к сумме C[i]. |
30.10.2011, 15:20 | #3 |
Регистрация: 30.10.2011
Сообщений: 7
|
мне эта подсказка вообще ни как не поможет я вообще не знаю паскаля по этому и горю на зачетной недели,((((мне нужна тупо программа((сам ни чего не напишу,беда в школе не было информатики
|
30.10.2011, 15:39 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Если сами ничего не напишете, то и за Вас вряд ли кто-нибудь напишет. Тем более, что так списанный код на проверке "валится" элементарно.
Попробуем с основ. Код:
|
30.10.2011, 15:42 | #5 |
Регистрация: 30.10.2011
Сообщений: 7
|
program 1;
uses crt; var A:array[1..100] of integer; n,i,j,imin: byte; buf:integer; begin write('Размер массива от 1 до 100 n='); readln(n); //ручной ввод массива writeLn('Вводим элементы массива A:'); for I:=1 TO N do begin write('A[',i,']='); readLn (A[i]); end; вот что я смог написать максимум сам к первому заданию и все(((болт |
30.10.2011, 15:52 | #6 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Vladimir Ryabov, что, вполне приличный ввод массива. Тогда можно от основ уйти дальше - напишите функцию, которая бы
а) принимала на вход массив целых чисел; б) возвращала бы индекс; в) внутри себя заводила бы переменные "лидер", "релиз-кандидат", "бета-кандидат", описанные выше, а также переменную "индекс массива" для перебора элементов этого самого массива; г) содержала внутри себя в виде комментариев текст приведённого выше решения, разбитого на фразы (по одной фразе на строку). Код функции пока писать не надо. |
30.10.2011, 15:53 | #7 |
Регистрация: 30.10.2011
Сообщений: 7
|
я ни слова почти не понял из того что вы написали
|
30.10.2011, 16:00 | #8 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Vladimir Ryabov
... я ни слова почти не понял из того что вы написали В вашем случае мне нужна тупо программа всё до предела упрощается : тупо оплачиваете работу программиста, тупо получаете готовую программу. бабло засылать сюда
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
30.10.2011, 16:01 | #9 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Тогда вернёмся к предыдущему пункту: напишите код под комментариями в теле приведённой функции, который должен делать именно то, что говорится в комментариях. Комментарии не убирать.
|
30.10.2011, 16:16 | #10 |
Регистрация: 30.10.2011
Сообщений: 7
|
function IterateArray(arr : array[1..20] of Integer): Integer
var sum, index : Integer; begin sum:=0 buf:integer; WriteLn for i:=1 to 20 do; var arr: array[1..20] of real; n: integer; sum, op: real; i: integer; {Вернуть из функции значение sum} end; |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задачи на обработку массивов | bighunter | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 09.10.2011 19:58 |
3 задачи: на простые числа, на матрицу и на обработку строки. Дорешать. Паскаль | gena1128 | Помощь студентам | 6 | 02.06.2011 18:21 |
Задачи на обработку матриц! | davka | Помощь студентам | 1 | 24.05.2011 07:40 |
Помогите пожалуйста составить программу на обработку массивов | vvioleta | Помощь студентам | 1 | 14.11.2009 10:39 |
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) | Yaro | Помощь студентам | 2 | 12.11.2009 12:55 |