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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2016, 17:36   #1
DIbmKa
 
Регистрация: 12.12.2016
Сообщений: 4
Восклицание Помогите решить задачу в Pascal ABC,нужно сдавать ее скоро, а я ее понять не могу (

Даны вектор С (6) и матрица D(5,6). Из минимальных элементов столбцов матрицы D сформировать вектор А. Если максимальный элемент вектора А меньше максимального элемента вектора С, то за максимальным элементом вектора С вставить максимальный элемент вектора А, иначе удалить все отрицательные элементы вектора А.
DIbmKa вне форума Ответить с цитированием
Старый 12.12.2016, 17:39   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

DIbmKa, расскажите, а что не получается, что именно Вы не можете понять?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2016, 17:43   #3
DIbmKa
 
Регистрация: 12.12.2016
Сообщений: 4
По умолчанию Когда хочу вставить элемент, происходит чтото не понятное мне...Наверное я тупенький,только учусь(

Код:
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:integer;
begin

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 (100)-50;
             write(D[i,j]:8);
             end;
         writeln;
         end;
writeln('C');
//массив С
for i:=1 to n-1 do

             begin
             C[i]:=random (100)-50;
             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[cmax+1]:=a[amax];

        end;
             for i:=1 to n do
             write(C[i]:8);
     end;
end.

Последний раз редактировалось DIbmKa; 12.12.2016 в 17:49.
DIbmKa вне форума Ответить с цитированием
Старый 12.12.2016, 19:01   #4
DIbmKa
 
Регистрация: 12.12.2016
Сообщений: 4
Смущение Код исправил, помогите плиз с удалением отицательных элементов из вектора А

Код:
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:integer;
begin

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 (100)-50;
             write(D[i,j]:8);
             end;
         writeln;
         end;
writeln('C');
//массив С
for i:=1 to n-1 do

             begin
             C[i]:=random (100)-50;
             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;
end.

Последний раз редактировалось DIbmKa; 12.12.2016 в 19:11.
DIbmKa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
5-ый час сижу не могу понять,помогите а то овощем скоро стану Микаил Помощь студентам 4 20.12.2015 10:54
Помогите пожалуйста решить задачу Pascal ABC Camelion Помощь студентам 0 04.12.2014 20:22
Никак не могу решить задачу по масивам (Pascal ABC) Amid1990 Помощь студентам 1 04.07.2011 17:46
помогите решить задачу Pascal ABC массивы aunt Sveta Помощь студентам 12 11.03.2011 16:09