![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,432
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 22.04.2014 в 17:01. |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 21.04.2014
Сообщений: 11
|
![]()
Program ABC;
const Nmax=100; type vector=array[1..Nmax] of Integer; var a:vector; i,n,max,imax,min,imin,k1,k2,temp:in teger; begin write('N='); readln(n); for i:=1 to n do begin write('A[',i,']='); readln(a[i]); end; for i:=1 to n do write(a[i]:5); writeln; max:=a[1]; imax:=1; min:=a[1]; imin:=1; for i:=1 to n do if a[i]>max then begin max:=a[i]; imax:=i; end else if a[i]<min then begin min:=a[i]; imin:=i; end; writeln('max=',max,' min=',min); if min<max then begin k1:=min; k2:=max; end else begin k1:=max; k2:=min; end; writeln('k1=',k1,' k2=',k2); for i:=1 to (k1 div 2) do Begin temp:=a[i]; a[i]:=a[k1-i+1]; a[k1-i+1]:=temp; End; for i:=1 to (n-((n-k2)div 2)) do begin temp:=a[i]; a[i]:=a[n-i+1]; a[N-i+1]:=temp; End; for i:=1 to n do write(a[i]:5); readln; end. у меня ни чего не получилось...не пойму в чем проблема...дело в том что я только начинаю изучать программирование, многие операторы не знаю... |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 15.04.2014
Сообщений: 62
|
![]()
Попробуем разобраться. Сообщу попозже что удалось сделать. Паскаль под дос? или устроит на delphi 7??
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 21.04.2014
Сообщений: 11
|
![]()
честно не знаю...эта прога которую я написал не работает...я быстро набросал...
|
![]() |
![]() |
![]() |
#15 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,432
|
![]()
Вы храните в max и min сами значения (максимальное и минимальное). А номера хранятся в imax и imin. Из-за этого в k1 и k2 хранятся не те значения. Первый цикл for i:=1 to (k1 div 2) do вполне успешно "переворачивает" элементы, лежащие в начале массива (не компилировал, но похоже на правду). А вот цикл for i:=1 to (n-((n-k2)div 2)) do "перевернет" непонятно что (по крайней мере, на первый взгляд, он не переворачивает элементы, лежащие в конце массива). Посмотрите код в 11 посте. Вам нужно просто правильно инициализировать i и j (границы) и дописать обмен двух элементов массива с известными индексами.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 21.04.2014
Сообщений: 11
|
![]()
да вот у меня проблема как мне взять только последний кусок массива так чтобы разбить его целочисленным делением на 2...должно получится число которое является серединой отрезка от k2 до N...я даже в голове не могу представить формулу такого вычисления...
|
![]() |
![]() |
![]() |
#17 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,432
|
![]()
Тогда уточним задачу: нужно переставить обе части в обратном порядке, как единое целое, или две части, отдельно каждую?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 21.04.2014
Сообщений: 11
|
![]()
вот тут то и проблема...я пробовал переставить отдельно...первая часть получалась, вторая ни в какую...задание в первом сообщении...я так понимаю там надо поменять как целое...
|
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 21.04.2014
Сообщений: 11
|
![]()
Я бы назвал это задание взрывом мозга...учитывая что у меня препод перфекционистка в области программирования, то если код будет написан не так как она его задумывала, то это будет полный крах и психологическая травма...
|
![]() |
![]() |
![]() |
#20 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,432
|
![]()
Если как целое, то посмотрите еще раз код в 11 сообщении. Там ведь всё просто - перебираем индексы с конца и с начала. Индексы "перескакивают" элементы, лежащие между заданными индексами. Задание нормальное
![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не получается написать код | hello19 | Visual C++ | 1 | 04.08.2011 13:52 |
ПОМОГИ.те написать програму+мшинний код к ней | Dzef | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 28.05.2010 10:08 |
Не получается написать код для File>Open | fs444 | C++ Builder | 4 | 25.08.2009 09:26 |
Помогите написать функцию плиз.Не получается | Clockgen | Microsoft Office Excel | 2 | 14.12.2008 22:01 |
Пробую написать свой сервис... | =LeonZone= | Win Api | 4 | 30.09.2007 16:46 |