Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 17
1

Вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента

12.03.2015, 09:19. Просмотров 1063. Ответов 6
Метки нет (Все метки)


дана
целочисленная прямоугольная матрица
вычислить
сумму модулей элементов массива,расположенных после первого отрицательного элемента
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 09:19
Ответы с готовыми решениями:

Найти Сумму модулей элементов массива, расположенных после первого отрицательного элемента
Сумму модулей элементов массива, расположенных после первого отрицательного элемента . Диапазон (...

Вычислить сумму модулей элементов массива, расположенных после первого элемента
Сделал через массив, требуют через функцию. В одномерном массиве, состоящем из n целочисленных...

Вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю
в одномерном массиве состоящем из n вычислить сумму модулей элементов массива расположенных после...

Найти сумму модулей элементов массива, расположенных после первого элемента, равного 0
Доброго времени суток, Уважаемые формучане! Необходима помощь. Одномерные массивы В...

6
4254 / 2039 / 2093
Регистрация: 10.12.2014
Сообщений: 7,853
12.03.2015, 10:24 2
Матрица прямоугольная!
К примеру:

Код
1  2  3  4  5
2  3  4  5  6
3  4 -5  6  7
4  5  6  7  8
5  6  7  8  9
Что должно получится?
Какие элементы считать как „расположенных после первого отрицательного элемента“?
0
Модератор
8397 / 4151 / 2871
Регистрация: 17.08.2012
Сообщений: 13,231
12.03.2015, 17:20 3
Keek, JuriiMW, для многомерных матриц общий порядок расположения элементов не определён.
То есть, никак нельзя сказать, что идёт раньше: a[2, 7] или a[6, 3]. Однако, троечники, составляющие вот такие вот бестолковые некорректные задачи, считают, что в двумерном массиве элементы упорядочены как в многострочном тексте, слева направо сверху вниз.

Не по теме:

Таких задачек чего-то много стало, аж смешно от этой святой уверенности, что существует некий стандарт обхода массива... Вот интересно было бы спросить составителей задачек об стандартном порядке обхода 7-мерного массива, индексы которого представляют собой условные пиктограммы...

0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5693 / 3408 / 2429
Регистрация: 22.11.2013
Сообщений: 9,560
Записей в блоге: 1
12.03.2015, 18:04 4
Cyborg Drone,
было бы рациональным считать, что младшая из размерностей, считая слева направо, является младшей и при обходе.
Если принять эту посылку, то a[2,7] идёт раньше a[6,3].
Независимо от способа хранения в памяти (по строкам, по столбцам, как-то ещё).

Добавлено через 9 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
const
  n=5; m=5;
var
  a: array [1..n,1..m] of Integer;
  i, j, s: Integer;
  hasNeg: Boolean;
begin
  { ... }
  for i:=1 to n do for j:=1 to m do begin
    if hasNeg then s:=s+Abs(a[i,j]);
    hasNeg:=hasNeg or (a[i,j]<0);
  end;
end.
Отдельно стоит упомянуть Free Pascal с его циклом "for e in a do", позволяющем положиться в выборе порядка на компилятор.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{$mode ObjFPC}
const
  n=5; m=5;
var
  a: array [1..n,1..m] of Integer;
  e, s: Integer;
  hasNeg: Boolean;
begin
  { ... }
  hasNeg:=False; s:=0;
  for e in a do begin
    if hasNeg then s:=s+Abs(e);
    hasNeg:=hasNeg or (e<0);
  end;
end.
Добавлено через 2 минуты
Или так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{$mode ObjFPC}
const
  n=5; m=5;
var
  a: array [1..n,1..m] of Integer;
  e, s, k: Integer;
begin
  { ... }
  s:=0; k:=0;
  for e in a do begin
    s:=s+k*Abs(e);
    k:=Ord((k=1) or (e<0));
  end;
end.
0
Cyborg Drone
12.03.2015, 20:26
  #5

Не по теме:

Согласен, конечно же, согласен. Но, всё равно, это - всего лишь рациональный выбор, а не правило. Я имел ввиду, что в подобных случаях приходится доопределять задание даже не за ТС, а за составителя задачи.

0
bormant
12.03.2015, 20:39
  #6

Не по теме:

вообще не понимаю, зачем на матрице формулировать задачи линейных массивов. В чем задача? Писать так и не морочить голову?

Pascal
1
2
3
4
var
  a: array [1..n,1..m] of Integer;
  b: array [1..n*m] of Integer absolute a;
...

0
Cyborg Drone
12.03.2015, 22:17     Вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента
  #7

Не по теме:

Ну а почему бы и нет? Пусть порядок обхода определяется расположением в памяти. Критерий как критерий. Но для меня все эти задачки звучат примерно как "найти в лесу предпоследнюю сосну, особенно в пятницу".

0
12.03.2015, 22:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2015, 22:17
Привет! Вот еще темы с ответами:

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю
В одномерном массиве, состоящем из N целочисленных элементов, вычислить: 1.Сумму модулей элементов...

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю
В одномерном массиве, состоящем из n целочисленных элементов, вычислить: 1) минимальный по модулю...

Вычислить сумму модулей элементов массива, расположенных после минимального элемента
1.Вычислить сумму модулей элементов массива К размером n, расположенных после минимального...

Вычислить сумму модулей элементов массива, расположенных после минимального элемента
Добрый вечер, помогите пожалуйста с задачкой на зачёт по турбо паскаль: Вычислить сумму модулей...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.