|
Если напишите небольшую програмку на ТурбоПаскале (она буквально на страничку), буду очень благодарен и одарю сексо! Вот задачка, надо по не прогу написать. Определение номера элемента, с которого начинается самая длинная последовательность четных чисел, расположенных в массиве подряд! Длина массива вводится с клавиатуры. Печатать элементы массива по 6 штук, по формату :6 Тип данных: целые Это сообщение отредактировал vano-m - 14-03-2008 - 21:48 |
-=Велла=- | |
|
КОгда надо?
|
|
впринципе не срочно... неделя где-то. |
-=Велла=- | |
|
ок... я попробую... если до четверга не успею, то напишу...
|
|
огромнейшее спсибо! |
do-do | |
|
Мож все ж сам сделаешь? Оно полезнее.. только помнить, что X mod 2 = 0 если число четное... остальное в несколько строк делается |
do-do | |
|
Дело было вечером...да и делать было нечего Вот решил порукоблудить по поводу Турбо Паскаль года 4 в руках не держал, но нашел на компе free pascal - думаю палка одна (если стандарта придерживаться) вот (вывод красивый ужо уж сам лепи) program example; Type box=^y; (*Создаем список элементов*) y=record data: integer; next:box; end; var N:integer; (*Число элементов*) Start:box; (*Указатель на начало массива*) X,X1:box; (*вспомогательная ячейка*) A:box; (*начало наибольшего массива*) Nmax:integer;(*максимальное число четных элементов идущих подряд*) I,J:integer; (*индексы*) XX:integer; (*вспомогательная переменная*) begin (*Инициализация*) Start:=Nil;A:=nil;Nmax:=0;j:=0; (*Задаем массив - ни каких проверок. Минимальная длинна 2 элемента*) writeln;write('Total=');readln(N); read(XX);New(X);x^.next:=nil;x^.data: =XX;start:=x; for i:=2 to N do (*Фишка в том, что на 1ый элемент мы ссылаемся в Start*) begin read(XX);new(x^.next);x:=x^.next;x^.next:=nil;x^.data: =XX; end; writeln; x:=Start; (*начинаем обработку*) for i:=1 to N do begin if (x^.data <> 0) and (x^.data mod 2=0) then if j=0 then (*четно*) begin x1:=x;Inc(j);end else Inc(j) else (*не четно*) if (j > 0) then if Nmax < j then begin Nmax:=j;A:=x1;j:=0;end; x:=x^.next; end; writeln('Total-',Nmax); for i:=1 to Nmax do begin write(A^.data: 8);A:=A^.next;end; end. |
-=Велла=- | |
|
do-do, не прокатит. тема лабораторной - массивы, а не записи. |
do-do | |
|
А где это написано ? что массивы :) Слово Элемент массива я воспринимаю просто как индекс в памяти :) Впрочем - Суть алгоритма от этого не изменяется :) Даже меньше писать. Впрочем - ТОТ же массив - это тот же список :) Определив 2-3 процедуры работы с индексом, (скрыв детали) имеем массив Впрочем :) я не собираюсь дорогу переБегать :) Ваяй. Так - размялся, алгоритм вообщем то очевиден. Это сообщение отредактировал do-do - 16-03-2008 - 20:15 |
-=Велла=- | |||
|
да он мне просто методичку дал посмотреть :) Да я то чо, я ничо )))) ПРосто мне самой заняться нечем.. сижу дома ж.. тупею.. а так хоть зарядка для мозгов будет )))) |
do-do | |
|
Студенты :) в методичке все обычно пишут ...а они не читают
|
mvf23 | |||||
|
напоминает известную шутку про то как пишут программу "Hello World" люди с разным уровнем образования :) См. http://www.gnu.org/fun/jokes/helloworld.html Студент первого курса, на котором обычно дают подобные задания должен решить его примерно так:
PS. кстати задача проверки четности числа эффективнее решается с помощью вот такой конструкции (a[i] and 1 = 0). Т.к. побитовое "и" всегда выполняется быстрее чем деление с остатком. Это сообщение отредактировал mvf23 - 18-03-2008 - 16:22 |
do-do | |||
|
Гм...если учесть ручной ввод :) То большой выигрыш будет :)? mod - нагляднее (в учебных целях наверное нормально) Хотя думаю если студент объяснит X and 1 = 0 четное - то зачет надо ставить сразу :) Это сообщение отредактировал do-do - 18-03-2008 - 17:36 |
mvf23 | |||||
|
вообще разница на два порядка :) примерно 3-4 такта процессора (в случае AND) против 150 (в случае MOD). Но это в такой программе никак ощущаться не будет, конечно если размер массива ограничен какими-то небольшими цифрами. Однако студент, затрудняющийся написать такую лабу, вряд ли сможет веско объяснить преподавателю почему лучше использовать AND (да и не факт что преподаватель это знает :D). Да и ты прав - так оно нагляднее. Поэтому я и употребил в самой программе mod, про and написав в PS. |
|
Наверно я не(не хочу употреблять выражение туповат) не имею склонностей к изучению программирования. Прошустрил всю методичку. Три лабы зделал, на четвертой споткнулся. Эдакий у мну камень преткновения-массивы))) |
|
а описание переменных и массива-енто куда? точнее как? там же вроде все variables описать нада. Я ничего не понимаю! *БЬЕТ СЕБЯ ГОЛОВОЙ ОБ СТОЛ! |
-=Велла=- | |||
|
vano-m.. говори спасибо mvf23. Я написала ввод-вывод (правла не в файл, а не экран)... Вот, держи...
|
do-do | |
|
Что напрягает...что массивы предопределены :) (их размер) с указателями универсальнее - 9хотя конечно, опять же все в одном сегменте только)
|
|
А я... А я... А я паскаль не знаю! Напесал на си... :)
|
-=Велла=- | |
|
А кто нить на Прологе может напишет заодно
|
mvf23 | |||||||
|
какой-то у тебя си не кашерный, ну т.е. круто конечно что в четыре строки, но совершенно не читабельно... :) Ты б ещё на каком-нибудь брэйнфаке написал или на другом эзотерическом :) Короче - ходи туды: http://esco.sourceforge.net/?page=elang Там и компилятор на все случаи жизни и ссылки правильные :) Будешь потом только на них программить : Типо приходит чел и говорит "мне надо на паскале хеллоу ворлд написать", а ты ему "ну паскаля я не знаю, но вот тебе хеллоу ворлд на езыке OOK"
А поскольку этот самый Ook - является закосом под крики орангутанов то можно ещё попытаться эту программу озвучить и выложить в качестве мп3 Это сообщение отредактировал mvf23 - 19-03-2008 - 21:06 |
|
Всем огромнейшее спасибо! Попробую в пятницу сдать Это чудо!
|
|
а что это такое кста? |
do-do | |||
|
Надеюсь на Турбо :)? Crt - стандартная библиотека (Турбо Паскаля) Помогает в быстром выводе например на монитор (там много всего) clrscr - процедура из этой библиотеки - просто стирает экран от символов |
mvf23 | |||||
|
можно убрать, если сомневаешься или если боишься чуть-чуть "повыпендриваться". Будет работать и без этого. Нужно просто, чтоб экран очистить. |
Рекомендуем почитать также топики: Качество цветопередачи и разрешение самое низкое Центр обновления Windows Скайп, флешплейер комп иногда сильно гудит. Не показываются фото на форуме |