Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.06.2014, 13:46
Аватар для hsMapk
hsMapk hsMapk вне форума
Новичок
 
Регистрация: 17.04.2014
Сообщения: 60
Версия Delphi: Delphi 7
Репутация: 5
Плохо Вектор в квадратной матрице

Помогите решить следующую задачу(хотяб куском кода).

Дана вещественная квадратная матрица. Построить вектор B, присвоив i-му элементу значение 10, если в строке с номером i матрицы число положительных элементов не меньше числа отрицательных элементов и значение 1 в противном случае.
Ответить с цитированием
  #2  
Старый 26.06.2014, 15:06
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Вот как ваше задание выглядит по-английски:
Код:
for i:= 1 to N do
begin
  v:= M[i, все];
  if CountPlus(v) >= CountMinus(v) then
    B[i]:= 10
  else
    B[i]:= 1;
end
Ответить с цитированием
  #3  
Старый 26.06.2014, 15:57
Аватар для hsMapk
hsMapk hsMapk вне форума
Новичок
 
Регистрация: 17.04.2014
Сообщения: 60
Версия Delphi: Delphi 7
Репутация: 5
По умолчанию

что значат вот эти две строки:
Код:
 v:= M[i, все];
  if CountPlus(v) >= CountMinus(v) then

что значит ВСЕ?
Ответить с цитированием
  #4  
Старый 26.06.2014, 23:56
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от hsMapk
...что значит ВСЕ?
Похоже что помимо i нужно прокрутить циклом и ВСЕ поддиапазонные разряды двумерного массива for j := 1 to N do.., j = все
Ответить с цитированием
  #5  
Старый 27.06.2014, 00:29
Аватар для hsMapk
hsMapk hsMapk вне форума
Новичок
 
Регистрация: 17.04.2014
Сообщения: 60
Версия Delphi: Delphi 7
Репутация: 5
По умолчанию

то есть for j:=0 to число?
Ответить с цитированием
  #6  
Старый 27.06.2014, 00:33
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
 for j:= 1 to N do
  for i:= 1 to N do
begin
  v:= M[i, j];
  if CountPlus(v) >= CountMinus(v) then
    B[i]:= 10
  else
    B[i]:= 1;
end;
Ответить с цитированием
  #7  
Старый 27.06.2014, 02:12
Аватар для hsMapk
hsMapk hsMapk вне форума
Новичок
 
Регистрация: 17.04.2014
Сообщения: 60
Версия Delphi: Delphi 7
Репутация: 5
По умолчанию

компилятор ругается на CountPlus. что это?
Ответить с цитированием
  #8  
Старый 27.06.2014, 02:56
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Возможно надо так
Код:
var
i,j,CountPlus,CountMinus: integer;
begin
 for j := 1 to N do
  begin
   CountPlus:=  0;
   CountMinus:= 0;
   for i := 1 to N do
    if M[i, j] > 0 then Inc(CountPlus) else Inc(CountMinus);
   if CountPlus > CountMinus then B[j]:= 10 else B[j]:= 1;
  end;
end;

Последний раз редактировалось Alegun, 27.06.2014 в 03:23. Причина: очепятка
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter