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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2016, 20:09   #1
DIbmKa
 
Регистрация: 12.12.2016
Сообщений: 4
Лампочка

Даны вектор С(6) и матрица D(5,6). Из минимальных элементов столбцов матрицы D сформировать вектор А. Если максимальный элемент вектора А меньше максимального элемента вектора С , то за максимальным элементом вектора С вставить максимальный элемент вектора А, иначе удалить все отрицательные элементы вектора А.

Печаль нужно исправить последнюю часть задачи... т.е. удалить все отрицательные элементы массива А

Код:
uses crt;
const n=7;
      ni=5;
      nj=6;
var C:array [1..n] of integer;
    D:array [1..ni,1..nj] of integer;
    A:array [1..nj] of integer;
    i,j,amax,cmax,minus:integer;
begin
minus:=1;
amax:=1;
cmax:=1;
//массив D
writeln('d');
for i:=1 to ni do
         begin
         for j:=1 to nj do
             begin
             D[i,j]:=random (10)-2;
             write(D[i,j]:8);
             end;
         writeln;
         end;
writeln('C');
//массив С
for i:=1 to n-1 do

             begin
             C[i]:=random (10)-5;
             write(C[i]:8);
             end;
writeln;
writeln('a');

// Из минимальных элементов столбцов матрицы D сформировать вектор А
         for j:=1 to nj do
             begin
             A[j]:=D[1 ,j];
             for i:=2 to ni do
                begin
                if d[i,j]<A[j] then
                A[j]:=D[i,j]
                end;
         write(A[j]:8);
         end;
// min вектора А
writeln;
         for J:=1 to n-1 do
             begin
             if A[j]>A[amax] then
             amax:=j;
             end;
             write('мах А=',A[amax]);
writeln;

         for i:=1 to n-1 do
             begin
             if c[i]>c[cmax] then
             cmax:=i;
             end;
             write('мax С=',c[cmax]);
writeln;
if A[amax]<c[cmax] then
     begin
     for i := n-1 downto cmax do
        begin
        c[i+1]:=c[i];
        end;
        c[cmax+1]:=a[amax];
     for i:=1 to n do
         write(C[i]:8);
     end
else
    for J:=1 to n-1 do
    begin
    if A[j]<0 then
       begin
       j:=minus;
             for  i:=minus to N-1 do
             a[i]:= a[i+1];
       end;
       for J:=1 to n-1 do
    write(a[i]:8);
    end;

end.
DIbmKa вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан вектор А(n). Получить новый вектор путем умножения элементов стоящих за максимальным элементом на минимальный элемент вектора pavel215 Паскаль, Turbo Pascal, PascalABC.NET 1 02.04.2013 14:30
дано 3 вектора. определить максимальный чётный элемент каждого вектора и упорядочить по убыванию 3Doleg Паскаль, Turbo Pascal, PascalABC.NET 0 04.12.2012 01:45
как удалить n-ый элемент вектора? Tiva Помощь студентам 1 09.11.2012 20:28
1. Вставить нулевой элемент перед максимальным элементом в одномерном массиве Proskurina Помощь студентам 6 22.09.2012 06:48
1. Вставить нулевой элемент перед максимальным элементом в одномерном массиве Proskurina Паскаль, Turbo Pascal, PascalABC.NET 4 21.09.2012 20:21