Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.03.2017
Сообщений: 11

Одномерный массив из отрицательных чисел матрицы (до max элемента при построчном просмотре)

02.03.2017, 00:03. Показов 519. Ответов 3

Студворк — интернет-сервис помощи студентам
Прошу помочь с задачей.
Дан массив X(n,m). Найти максимальный элемент. Сформировать одномерный массив, элементами которого являются отрицательные элементы исходного массива, расположенные до его последнего максимального элемента при построчном просмотре.
В моем варианте массив формируется из всех отрицательных чисел матрицы.
Кликните здесь для просмотра всего текста

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const n=5;
var x : array [1..n, 1..n] of integer;
    b : array [1..n*n] of integer;
    i, j, k,max : integer;
begin
max:=x[1,1];
    for i:=1 to n do
        for j:=1 to n do
            x[i,j]:=random(10) - random(10);
          
    writeln('Исходная матрица:');
    for i:=1 to n do
        begin
            for j:=1 to n do
           begin
            if x[i,j]>max then max:=x[i,j];
                write(x[i,j]:2, ' ');
            end;
            writeln;
        end;
 
    k:=1;
    for i:=1 to n do
        for j:=1 to n do
            if(x[i,j]<0) then
            begin
                b[k]:=x[i,j];
                k:=k+1;
            end;
    writeln;
    writeln('Максимальный элемент = ',max);
    writeln('Массив из отр. элементов до max: ');
    for i:=1 to k-1 do
        write(b[i], ' ');
    readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2017, 00:03
Ответы с готовыми решениями:

Найти первый отрицательный элемент при построчном просмотре
2.Дан массив x(N,M).Найти первый отрицательный элемент при построчном просмотре.Сформировать одномерный массив,элементами которого являются...

Сформировать одномерный массив из произведений max и min значений матрицы
Не могу сформировать одномерный массив из произведений max и min значений матрицы А:( Dim intM(1 To 5, 1 To 5) As Integer Dim...

Создать одномерный массив из индексов элементов матрицы, равных максимальному значению матрицы среди отрицательных
Дана матрицаW(N, M). Создать одномерный массив из индексов элемен-тов матрицы, равных максимальному значению матрицы среди ...

3
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
02.03.2017, 00:37
Сделал по-своему. Работает
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var
X:array[1..100,1..100] of integer;
R:array[1..100] of integer;
i,j,im,max,l:integer;
begin
  randomize;
  writeln('Введите n и m:');
  var n:=ReadInteger; var m:=ReadInteger;
  max:=0;
  writeln('Исходная матрица:');
  for i:=1 to n do begin
    writeln;
    for j:=1 to m do begin
      X[i,j]:=50-random(100)+1;
      write(X[i,j]:4);
      if X[i,j]>max then begin
        max:=X[i,j]; im:=i;
       end;
    end;
  end;
  writeln;
  writeln('Максимальный элемент - ',max);
  l:=0;
  writeln('Массив из отр элементов до max: ');
  for i:=1 to im do begin
    j:=0;
    repeat
      j+=1;
      if X[i,j]<0 then begin
        l+=1; R[l]:=X[i,j]; write(R[l]:4);
      end;
    until (X[i,j]=max) or (j=m);
  end;
end.
Добавлено через 6 минут
В принципе в массив R не обязательно записывать элементы. Можно ограничиться выводом соответствующего X[i,j]
Pascal
30
l+=1; R[l]:=X[i,j]; write(R[l]:4)
В задании написано сформировать массив, поэтому на всякий случай перестраховался
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.03.2017, 08:58
Hitoku,
R маловат. Раз в X может быть 100x100 элементов, то и в R должно помещаться не менее 100*100-1 штук.

Добавлено через 5 минут
А в вашем коде -- все 100*100, поскольку, если max отрицательный, он тоже попадает в результат.

Добавлено через 2 минуты
Pascal
16
if X[i,j]>=max then begin
иначе im будет содержать строку с первым max, а не последним.

Добавлено через 7 минут
Далее, если вы знаете, что последний max в строке im, то зачем отбрасывать в предыдущих строках то, что после встреченных в них max (цикл repeat until остановится не только в строке im).
Более того, этот цикл остановится на первом max в строке, а не на последнем.

Добавлено через 5 минут
Pascal
16
17
18
19
20
21
22
23
24
25
26
27
28
      if X[i,j]>max then begin
        max:=X[i,j]; im:=i; jm:=j;
      end;
...
  l:=0;
  for i:=1 to im-1 do for j:=1 to m do
    if x[i,j]<0 then begin
      l+=1; r[l]:=x[i,j];
    end;
  for j:=1 to jm-1 do
    if x[im,j]<0 then begin
      l+=1; r[l]:=x[im,j];
    end;
0
0 / 0 / 0
Регистрация: 01.03.2017
Сообщений: 11
02.03.2017, 09:30  [ТС]
Всем спасибо, с этим уже смогу что нибудь сделать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.03.2017, 09:30
Помогаю со студенческими работами здесь

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы.
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...

Дан одномерный массив действительного типа. Получить массив, состоящий из отрицательных чисел исходного массива
Помогите пожалуйста решить задачку) Дан одномерный массив действительного типа. Получить другой массив, состоящий только из отрицательных...

Из отрицательных элементов матрицы составить одномерный массив
Задан двумерный массив. Из отрицательных чисел составить одномерый массив.

Сформировать одномерный массив из отрицательных элементов матрицы
Дана матрица A(n×n). Сформировать одномерный массив из отрицательных элементов этой матрицы, расположенных ниже главной диагонали. ...

Создать одномерный массив из отрицательных элементов матрицы
Здравствуйте, форумчане. Не могу решить данную задачу. Может кто поможет, заранее спасибо. Создать одномерный массив из отрицательных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru