Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Сортировка Матрицы

Автор: LoveInLife 25.03.2007 18:09

В заданной матрице из целых чисел нужно поменять местами первую строку и строку, содержащую наибольший отрицательный элемент матрицы....

а я что то не то натворил....помогите разобраться.....


Прикрепленные файлы
Прикрепленный файл  2_chast_.PAS ( 1.34 килобайт ) Кол-во скачиваний: 227

Автор: compiler 25.03.2007 18:15

Цитата(LoveInLife @ 25.03.2007 14:09) *
а я что то не то натворил....помогите разобраться.....
В чем проблема программа компилируется smile.gif
но не забывай о предупреждениях
del.pas(18,6)---Warning: Type size mismatch, possible loss of data / range check error
del.pas(18,6)---Warning: Type size mismatch, possible loss of data / range check error
del.pas(22,12)--Warning: Type size mismatch, possible loss of data / range check error
del.pas(12,5)---Note: Local variable "k" not used
del.pas(12,24)--Note: Local variable "stbm" not used

Автор: LoveInLife 25.03.2007 18:17

Цитата(compiler @ 25.03.2007 15:15) *

В чем проблема программа компилируется smile.gif
но не забывай о предупреждениях
del.pas(18,6)---Warning: Type size mismatch, possible loss of data / range check error
del.pas(18,6)---Warning: Type size mismatch, possible loss of data / range check error
del.pas(22,12)--Warning: Type size mismatch, possible loss of data / range check error
del.pas(12,5)---Note: Local variable "k" not used
del.pas(12,24)--Note: Local variable "stbm" not used


Там сортировка не такая как надо идет......я прошу....что бы исправили;)

Автор: compiler 25.03.2007 18:18

посмотри тут http://forum.pascal.net.ru/index.php?showtopic=16262&pid=95937&st=0&#entry95937
там похожая задача с коментариями...

Автор: volvo 25.03.2007 18:26

Типы оформи вот так:

Const R=10;
Type Tind=1..R;
Tmas=Array [Tind] Of Integer;
Tmatr=Array [Tind] Of TMas; { <--- !!! }
Var k,i,str,stb,j,strm,stbm:Tind;
A:Tmatr;
min:Integer;
T: TMas; { <--- !!! }


а теперь - о главном: ты с условием разберись, а то здесь пишешь одно, а в файле - другое... Если тебе нужен МИНИМУМ по условию - то вот так:
     min:=A[1,1];strm:=1;
For i:=1 To str
Do Begin For j:=1 To stb
Do Begin If min > A[i,j]
Then Begin min:=A[i,j];
strm:=i;
End;
End;
End;
T := A[strm]; A[strm] := a[str]; a[str] := T; { <--- Проще, правда? }

(проверено, все работает...)

Добавлено через 1 мин.
А о сортировке в задании вообще нет ни слова! Обмен двух строк - еще далеко не сортировка...