2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение23.04.2012, 19:24 
Alexu007 в сообщении #563103 писал(а):
Joker_vD в сообщении #563063 писал(а):
Alexu007
Если вам нетрудно, назовите, пожалуйста, список проектов, в которых вы участвовали — чтобы я не дай бог ненароком не воспользовался программным средством, к которому вы приложили рук...

Ни ад-на-во.
Тогда вам, наверно, лучше воздержаться от советов по программированию.

Alexu007 в сообщении #563103 писал(а):
А чего вы на меня так взъелись? Что, предложенным мной способом минимальное значение не найдёшь? Вначале записываем минимальным первый элемент массива, а затем перебираем по порядку весь массив, и если находится меньший - переписываем минимальным уже его. В чём проблема то?
Что получится, если в массиве находятся: { 1, 3, 2 }?

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение23.04.2012, 19:42 
Протестил (сразу поленился), вот так правильно:

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int massiv[10] = {14, 23, 5, 11, 11, 33, 11, 9, 14, 12};

int X = 0;

for (int i = 1; i < 10; i++)
  { if(massiv[i] < massiv[X]) X = i;}

Label1->Caption = massiv[X];

return;
}


Ошибся то самую малость...

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение23.04.2012, 20:35 

(Оффтоп)

Мало того — уже использованное топикстартером a было зачем-то заменено на massiv. Ну и что, что псевдокод на другом языке. Переменные-то зачем переименовывать в худшую сторону?

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение23.04.2012, 21:49 
Дык читал где-то когда-то, что переменным лучше давать осмысленные имена. Вот и дал: massiv это массив.

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение23.04.2012, 21:53 
Alexu007 в сообщении #563190 писал(а):
Дык читал где-то когда-то, что переменным лучше давать осмысленные имена. Вот и дал: massiv это массив.
Неужели вы думаете, что 'massiv' осмысленнее исходного 'a'? Я, например, воспринял 'a' как сокращение от 'array'.

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение24.04.2012, 16:44 
program RODION;
const n= 10;
var a:array [1..n] of integer;
i,p,j,min:integer;
begin
for i:=1 to n do
begin
a[i]:=random(100);
writeln('значение', i, 'эл.мас.=',a[i])
end;
min:=a[1];
for i:=1 to n do
if a[i]<min then
begin
min:=a[i];
j:=i;
end;
p:=a[i];
a[i]:=a[j];
a[j]:=p;
for i:=1 to n do
writeln('a(',i,')=',a[i]);
writeln('min=', min)
end.

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение24.04.2012, 19:59 
usain_bolt
А вы в курсе, что после выполнения цикла for i := ... значение $i$ неопределено?

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение25.04.2012, 00:40 
Joker_vD в сообщении #563487 писал(а):
А вы в курсе, что после выполнения цикла for i := ... значение $i$ неопределено?

Я лично не в курсе -- зависит от транслятора. Хотя пользоваться такой возможностью -- конечно, моветон. Хотя в программу, конечно, не вникал. Хотя бы потому, что она заведомо чересчур длинна и непонятно о чём.

 
 
 
 Re: Паскаль: поменять местами наименьший элемент и последний
Сообщение25.04.2012, 15:31 
ewert
У Паскаля, как ни странно, тоже есть стандарт (ISO 7185:1990), в котором сказано...
ISO 7185:1990 "Pascal", 6.8.3.9 "For-statements" писал(а):
After a for-statement is executed, othert than being left by a goto-statement, the control-variable shall be undefined.

 
 
 [ Сообщений: 24 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group