int n, swapped; do { swapped = 0; for (int i = 0; i < M - 1; i++) { if (result_array[i] < result_array[i+1]) { n = result_array[i]; result_array[i] = result_array[i+1]; result_array[i+1] = n; swapped = 1; } } } while (swapped);
Да ты прям человек слова Ладно, будем ждать благодетелей, благо код элементарный.
Добавлено (30.01.2012, 23:55) --------------------------------------------- Бррр, неужели никто не может помочь? Там же кода всего три с половиной строчки
Never compromise. Not even in the face of Armageddon.
В коде выше есть один динамический массив, но и его при желании можно лекго заменить на статический. Never compromise. Not even in the face of Armageddon.
uses CRT; var n,m: longint ; j,I,sz: integer; raw_matrix: array [0..9,0..11] of single; result_array: array of single; k, t,s: integer; n, swapped: integer;
BEGIN Writeln(‘enter M&N:’); Readln(m,n); Writeln(‘--------enter matrix--------); For j:=0 to N do For i:=0 to M do Read(raw_matrix[I,j]); sz := N/4; setlength(result_array, M-1); for k:=0 to M-1 do begin result_array[k] = raw_matrix[k,3]; for t:=1 to sz do if(raw_matrix[k,(t*4)-1] < result_array[k]) then result_array[k] = raw_matrix[k,(t*4)-1];
end;
repeat swapped := 0; for i:= 0 to M-2 do if (result_array[i] < result_array[i+1]) then begin n: = result_array[i]; result_array[i] := result_array[i+1]; result_array[i+1]: = n; swapped := 1; end;
until (swapped <> 1);
for i:=1 to 3 do writeln;
for s:=0 to M-1 do writeln(result_array[s]); setlength(result_array,0);
END.
Там куча лишних переменных, сохранял также, как у тебя были. Плюс возможны косяки с индексом массива, в цпп они от 0 до Н-1, а в паскале от 0 до Н в случае динамического. Ну пытался перевести правильно, в остальном дебаггер поможет, там все просто. У меня нет компилятора, чтобы проверить.
Писал на память, если что - компилятор скажет сам, что не так