• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Меню в Паскале

  • Автор темы Автор темы SunHab
  • Дата начала Дата начала

SunHab

Ученик
Регистрация
28 Апр 2014
Сообщения
7
Реакции
0
Баллы
0
Меню в Паскале

Добрый день! Нужна помощь в создании меню в данной программе
Код:
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. Произведение элементов массива, расположенных после максимального по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные нулю, считать положительными).

Заранее спасибо!
 
Назад
Сверху