Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 15:43   #1
КуКа
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию Матрица. Ввод данных в integer, вывод в real

Здравствуйте.
Помогите пожалуйста. Программа сортировки матрицы по заданной трассе. Входные данные - integer, вывод - real. Т.е если я ввожу к примеру элемент матрицы 9, то выводить он мне должен 9.0

Так вот, программку я сделала только для integer и вход и вывод, а как переделать вывод в real не знаю.
Помогите пожалуйста.
Код:
program massiv;
uses crt;
var m: array[1..5,1..5] of integer;
    i,j,s,k: integer;
    begin
 clrscr;
 randomize;
 writeln('vvedite massiv');
  for i:=1 to 5 do
  for j:=1 to 5 do
   readln(m[i,j]);

   for i:=1 to 5 do
    begin
    for j:=1 to 5 do
     begin
     write (m[i,j]:5);
      end;
       writeln;
       writeln;
     end;
     readln;
  s:=1;
  while s>0 do
  begin
  s:=0;
 if m[2,4]<m[1,5] then
  begin
   k:=m[2,4];
   m[2,4]:=m[1,5];
   m[1,5]:=k;
   s:=s+1;
  end;
 if m[3,3]<m[2,4] then
  begin
   k:=m[3,3];
   m[3,3]:=m[2,4];
   m[2,4]:=k;
   s:=s+1;
  end;
 if m[4,2]<m[3,3] then
  begin
   k:=m[4,2];
   m[4,2]:=m[3,3];
   m[3,3]:=k;
   s:=s+1;
  end;
 if m[5,1]<m[4,2] then
  begin
   k:=m[5,1];
   m[5,1]:=m[4,2];
   m[4,2]:=k;
   s:=s+1;
  end;
 if m[4,1]<m[5,1] then
  begin
   k:=m[4,1];
   m[4,1]:=m[5,1];
   m[5,1]:=k;
   s:=s+1;
  end;
 if m[3,1]<m[4,1] then
  begin
   k:=m[3,1];
   m[3,1]:=m[4,1];
   m[4,1]:=k;
   s:=s+1;
  end;
 if m[2,1]<m[3,1] then
  begin
   k:=m[2,1];
   m[2,1]:=m[3,1];
   m[3,1]:=k;
   s:=s+1;
  end;
 if m[1,1]<m[2,1] then
  begin
   k:=m[1,1];
   m[1,1]:=m[2,1];
   m[2,1]:=k;
   s:=s+1;
  end;
 end;

   for i:=1 to 5 do
    begin
    for j:=1 to 5 do
     begin
       if(i=5-j+1) or (j=1) then
       textcolor(4);
       write (m[i,j]:5);
       textcolor(15);
       end;
       writeln;
       writeln;
     end;
 readln;
end.

Последний раз редактировалось Stilet; 19.12.2010 в 15:51.
КуКа вне форума Ответить с цитированием
Старый 19.12.2010, 15:53   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

А что ты делаешь вот здесь ?

Код:
while s>0 do
begin
s:=0;
if m[2,4]<m[1,5] then
begin
k:=m[2,4];
m[2,4]:=m[1,5];
m[1,5]:=k;
s:=s+1;
end;
if m[3,3]<m[2,4] then
begin
k:=m[3,3];
m[3,3]:=m[2,4];
m[2,4]:=k;
s:=s+1;
end;
if m[4,2]<m[3,3] then
begin
k:=m[4,2];
m[4,2]:=m[3,3];
m[3,3]:=k;
s:=s+1;
end;
if m[5,1]<m[4,2] then
begin
k:=m[5,1];
m[5,1]:=m[4,2];
m[4,2]:=k;
s:=s+1;
end;
if m[4,1]<m[5,1] then
begin
k:=m[4,1];
m[4,1]:=m[5,1];
m[5,1]:=k;
s:=s+1;
end;
if m[3,1]<m[4,1] then
begin
k:=m[3,1];
m[3,1]:=m[4,1];
m[4,1]:=k;
s:=s+1;
end;
if m[2,1]<m[3,1] then
begin
k:=m[2,1];
m[2,1]:=m[3,1];
m[3,1]:=k;
s:=s+1;
end;
if m[1,1]<m[2,1] then
begin
k:=m[1,1];
m[1,1]:=m[2,1];
m[2,1]:=k;
s:=s+1;
end;
end;
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 15:54   #3
КуКа
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Это Сортировка по трассе
КуКа вне форума Ответить с цитированием
Старый 19.12.2010, 16:23   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от КуКа Посмотреть сообщение
Это Сортировка по трассе
А если бы у тебя было 100 элементов , ты делал 10000 сравнений вот так
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 16:25   #5
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Тоесть тебе нужно отсортировать по какому то пути? Если да то лучше сначала по этому пути перегнать в другой массив такой же длины, отсортировать его, а потом этим вторым заполнить первый по тому же пути
Novi4ok_11 вне форума Ответить с цитированием
Старый 19.12.2010, 16:31   #6
КуКа
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Цитата:
если бы у тебя было 100 элементов , ты делал 10000 сравнений вот так
Задание для матрицы размерностью 5*5


Цитата:
сли да то лучше сначала по этому пути перегнать в другой массив такой же длины, а потом этим вторым заполнить первый по тому же пути

И как это сделать????
КуКа вне форума Ответить с цитированием
Старый 19.12.2010, 16:44   #7
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от КуКа Посмотреть сообщение
Задание для матрицы размерностью 5*5

Смысл не в том , какого размер массив , но даже если у тебя 5х5 размер , то надо использовать циклы . А не копировать текст , потом это все тяжело читаемое становится .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 16:48   #8
КуКа
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

это то я все понимаю, но вопрос то мой в другом, мне вывод нужен в real
КуКа вне форума Ответить с цитированием
Старый 19.12.2010, 17:00   #9
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от КуКа Посмотреть сообщение
это то я все понимаю, но вопрос то мой в другом, мне вывод нужен в real
Вот тебе пример :

Код:
Program alg;
Var a:real;
Begin
a:=192.4678;
Writeln(a:0:2);
Readln;
End.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 17:08   #10
КуКа
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 5
По умолчанию

Спасибо за помощь.
Пойду дальше комп мучать))
КуКа вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
матрица и ее ввод\вывод из фаила mego4el Помощь студентам 1 03.12.2010 21:41
как опредилить real или integer записан в строку?? V.OX Общие вопросы Delphi 4 24.12.2009 22:11
Операции с разными типами чисел (real c integer не умножается!) uvamosk Помощь студентам 10 21.05.2009 21:14
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13
Конвертация real > integer Viteef Общие вопросы Delphi 2 03.05.2007 18:45