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


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

Массив, паскаль.
Нужна помощь ни как не могу догадаться как составить программку:

Дана матрица А[1:4;1:6]. Если количество положительных элементов в третьей строке больше количества отрицательных элементов в третьем столбце, то из матрицы А получить матрицу В по правилу: В(i,j)=A(i,j)∙Amax где Amax - максимальный элемент матрицы А. Иначе получить квадратную матрацу, добавив строки, элементы каждой из которых представляют сумму двух последних элементов в столбце.

Eсть только начало:


program MATRICA;
uses wincrt;
var
A:array [1..4,1..6] of integer;
B:array[1..4,1..6] of integer;
I,J:INTEGER;
Begin
RANDOMIZE;
for I:=1 to 4 do
for J:=1 to 6 do
A[I,J]:=random(100)-30;
writeln('ЗАДАНА МАТРИЦА А');
for I:=1 to 4 do
Begin
writeln;
for J:=1 to 6 do
write(A[I,J]:4);
end;
Lambert вне форума   Ответить с цитированием

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

На форуме уже встречались схожие проблемы, посмотрите

Паскаль. Матрица. Массив
Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Массив, Паскаль

Старый 08.06.2011, 21:12   #2 (permalink)
Lambert
Новичок
 
Регистрация: 08.06.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

блин... как указать на количество?
Lambert вне форума   Ответить с цитированием
Старый 08.06.2011, 21:13   #3 (permalink)
Lambert
Новичок
 
Регистрация: 08.06.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Lambert Посмотреть сообщение
блин... как указать на количество?
мб еще 2 переменных ввести?
Lambert вне форума   Ответить с цитированием
Старый 08.06.2011, 21:29   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Lambert Посмотреть сообщение
Нужна помощь ни как не могу догадаться как составить программку
Например, так:
Код:
program MATRICA;
var
 A,B:array [1..6,1..6] of integer;
 I,J,Npos,Nneg,Max,Imax:INTEGER;
Begin
 RANDOMIZE;
 Max:=-100;
 for I:=1 to 4 do
  for J:=1 to 6 do
   begin
    A[I,J]:=45-random(100);
    If A[I,J]>Max then Max:=A[I,J];
   end;
  writeln('ЗАДАНА МАТРИЦА А');
  for I:=1 to 4 do
   Begin
    writeln;
    for J:=1 to 6 do
     write(A[I,J]:6);
   end;
  writeln;
  Writeln;
  Npos:=0;
  For J:=1 to 6 do
   If A[3,J]>0 then Inc(Npos);
  Nneg:=0;
  For I:=1 to 4 do
   If A[I,3]<0 then Inc(Nneg);
  Writeln('Max= ',Max,';     Npos= ',Npos,';    Nneg= ',Nneg);
  IF Npos>Nneg then
   begin
    Imax:=4;
    for I:=1 to 4 do
     for J:=1 to 6 do
      B[I,J]:=A[I,J]*Max;
   end
  else
   begin
    Imax:=6;
    for J:=1 to 6 do
     for I:=1 to 6 do
      If I<5 then B[I,J]:=A[I,J] else
      B[I,J]:=A[3,J]+A[4,J];
   end;
  for I:=1 to Imax do
   Begin
    writeln;
    for J:=1 to 6 do
     write(B[I,J]:6);
   end;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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