Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 28.05.2014, 15:06   #1 (permalink)
SunHab
Новичок
 
Регистрация: 28.04.2014
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Меню в Паскале

Добрый день! Нужна помощь в создании меню в данной программе
Код:
const
 size_row = 10; { число строк }
 size_col = 10; { число столбцов }

type
 tvector = array[1 .. size_col] of integer;
 tmatrix = array[1 .. size_row] of tvector;

var
 mx: tmatrix;
 n,m, i, j: integer;  s:integer;


procedure swap_rows(var mx: tmatrix;
         const i, j: integer);
 var T: tvector;
 begin
   T := mx[i]; mx[i] := mx[j]; mx[j] := T
 end;

procedure print(var mx: tmatrix);
 var i, j: integer;
 begin
   for i := 1 to n do
     begin
       for j := 1 to m do
         write(mx[i][j]:4);
       writeln
     end;
 end;

function har(mx:tmatrix; i:integer):integer;
 var j: integer; s:integer;
 begin
   s:=0;
   for j  := 1 to m do   begin
     if (mx[i,j]<0) and (not (odd(mx[i][j]))) then inc(s,mx[i,j]);
   end;
   har:=s;
 end;



begin
 s:=0;
 writeln('введите n,m ... ');
 readln(n,m);
 { Заполнение матрицы }
 for i := 1 to n do
   for j := 1 to m do begin
     write('a[',i,',',j,']=');
     readln(mx[i][j])
   end;
 {Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.}
  for i:=1 to n do begin
   for j:=1 to m do begin
     if  (mx[i,j]=0) and (s=0) then s:=j;
   end
  end;
  if s<>0 then   writeln('s=',s) else writeln('Not Found!');


 { Матрица до обмена }
 writeln('before:'); print(mx);
 writeln('------------------------------------');
 for i:=1 to n-1 do
  for j:=i+1 to n do  if har(mx,i)<har(mx,j) then  swap_rows(mx, i, j);
 { Матрица после обмена }
 writeln('after:'); print(mx);
 readln;
end.
Сама задача звучит так:
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1. Количество элементов массива, больших С.
2. Произведение элементов массива, расположенных после максимального по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные нулю, считать положительными).

Заранее спасибо!
SunHab вне форума   Ответить с цитированием

Старый 28.05.2014, 15:06
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Дабы не тратить время на поиски, скину вам аналогичные темы

Выпадающее меню
Создание меню в Паскале ABC

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:40.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.