Другие языки программирования и технологии
ПОЖАЛУЙСТА ПОМОГИТЕ РЕШИТЬ ПРОГРАММУ НА ПАСКАЛЕ!
написать программу, меняющую порядок следования элементов массива на обратный (1234567 на 7654321)
ЭТО сложно?
А почему я делаю так, разберись сам:
s:=1;
e:=length(a);
repeat
a[ s]:=a[ s]+a[ e];
a[ e]:=a[s]-a[ e];
a[ s]:=a[ s]-a[ e];
s:= s+1;
e:=e-1;
until s>=e;
А почему я делаю так, разберись сам:
s:=1;
e:=length(a);
repeat
a[ s]:=a[ s]+a[ e];
a[ e]:=a[s]-a[ e];
a[ s]:=a[ s]-a[ e];
s:= s+1;
e:=e-1;
until s>=e;
Максим Игнатов
нельзя было полностью написать программу?
Максим Игнатов
не правильная задача
Максим Игнатов
ТВОЯ ЗАДАЧА НЕ ВЕРНАЯ!
www. cyberforum.ru/turbo-pascal/thread390517.html
пробел убери
пробел убери
Максим Игнатов
Не тот
вам полностью никто не обязан писать, но решение вам дали, а болванку и сами можете наваять (если нет то вам явно учить pascal с нуля)
решение от inga zajonc не ленивое и делает упор на малое потребление памяти но бОльшее потребление ресурса ЦП
а вот ленивое решение, жрет память но не ресурсы ЦП, не для условий с жестким ограничением памяти, однако нет зависимости от типа данных в массиве (что это думайте сами)
и разумеется есть менее расточительное по памяти решение, которое не будет зависеть от типа данных массива, но о нем так же думайте сами (это в каком-то плане антипод решения от inga zajonc)
var
...
arrLen: Longword;
...
begin
arrAS := 'Source array: ';
arrBS := 'Result array: ';
write('Type array length: '); readln(arrLen); // *
arrA := new Integer[arrLen]; // *
//arrLen := length(arrA); // раскоментить при альтернативном заполнении исходного массива
arrB := new Integer[arrLen];
arrLen := arrLen - 1;
randomize(); // *
for i := 0 to arrLen do begin
arrA[i] := random(100); //убрать эту и помеченные "*" строчки, если заполнение исходного массива идет иначе
arrB[arrLen - i] := arrA[i];
arrAS := arrAS + ', ' + arrA[i].ToString();
arrBS := arrBS.Insert(14, ', ' + arrA[i].ToString());
end;
arrAS := arrAS.Remove(14, 2); arrBS := arrBS.Remove(14, 2);
writeln(arrAS);
writeln(arrBS);
end.
решение от inga zajonc не ленивое и делает упор на малое потребление памяти но бОльшее потребление ресурса ЦП
а вот ленивое решение, жрет память но не ресурсы ЦП, не для условий с жестким ограничением памяти, однако нет зависимости от типа данных в массиве (что это думайте сами)
и разумеется есть менее расточительное по памяти решение, которое не будет зависеть от типа данных массива, но о нем так же думайте сами (это в каком-то плане антипод решения от inga zajonc)
var
...
arrLen: Longword;
...
begin
arrAS := 'Source array: ';
arrBS := 'Result array: ';
write('Type array length: '); readln(arrLen); // *
arrA := new Integer[arrLen]; // *
//arrLen := length(arrA); // раскоментить при альтернативном заполнении исходного массива
arrB := new Integer[arrLen];
arrLen := arrLen - 1;
randomize(); // *
for i := 0 to arrLen do begin
arrA[i] := random(100); //убрать эту и помеченные "*" строчки, если заполнение исходного массива идет иначе
arrB[arrLen - i] := arrA[i];
arrAS := arrAS + ', ' + arrA[i].ToString();
arrBS := arrBS.Insert(14, ', ' + arrA[i].ToString());
end;
arrAS := arrAS.Remove(14, 2); arrBS := arrBS.Remove(14, 2);
writeln(arrAS);
writeln(arrBS);
end.
Похожие вопросы
- Помогите решить программу в паскале)
- помогите решить программу на паскале
- Пожалуйста помогите решить задачу в Паскале.
- Пожалуйста помогите решить задачу по паскалю!!!
- Пожалуйста помогите решить задачу на ПАСКАЛЬ.
- Пожалуйста, будтье так добры, помочь решить задчаку в Паскале: Составьте программу, печатающую последнее слово в ...
- помогите доделать программу по паскалю пожалуйста
- Помогите составить программу на паскале!
- Помогите пожалуйста, с составлением программы в паскале, очень срочно! Только пожалуйста, вставьте данные, которые ниже
- помогите с программами в паскале