Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 25
1

Множества, никак не получается

30.05.2010, 22:47. Просмотров 992. Ответов 2
Метки нет (Все метки)

Помогите пожайлуста с решением задачи, что-то вообще никак..

Дана матрица А размерностью [N х N] элементов целого типа из диапазона от -127 до 127. Не используя вспомогательных массивов и не изменяя порядка следования элементов в матрице А определите, где различных элементов в матрице больше: под главной диагональю матрицы, или же над ней, и выведите на экран различные элементы найденной части матрицы в порядке их возрастания.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2010, 22:47
Ответы с готовыми решениями:

сформировать вектор. Никак не получается
Прочитать из файла значения целочисленной матрицы B(7,7). Определить координаты последнего по...

Никак не получается разобраться с записной книжкой
Есть готовая программка, только никак не получается написать код для кнопки пролистывания назад в...

Никак не получается отправить e-mail
unit Unit2; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils,...

Выручите девушек с проектом ведения базы данных в Delphi 7! Ну никак не получается(
Задание: Создайте программу ведения БД торговой фирмы. Программа включает в себя: Формирование...

2
13042 / 5828 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
31.05.2010, 09:28 2
Лучший ответ Сообщение было отмечено Kat297 как решение

Решение

Так как элементами множества не могут быть отрицательные числа, пришлось пойти на ухищрение с +127 и -127.
Delphi
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
procedure TForm1.Button1Click(Sender: TObject);
const
  N = 4;
var
  H, L : set of 0..127 + 127;
  i, j, CntH, CntL : Integer;
  Arr : array[1..N, 1..N] of Integer;
  StrTmp, StrH, StrL : String;
begin
  Memo1.Clear;
 
  Randomize;
  for i := 1 to N do begin
    StrTmp := '';
    for j := 1 to N do begin
      Arr[i, j] := -127 + Random(255); //-127..127.
      if StrTmp <> '' then StrTmp := StrTmp + #9;
      StrTmp := StrTmp + IntToStr(Arr[i, j]);
    end;
    Memo1.Lines.Add(StrTmp);
  end;
 
  H := [];
  L := [];
  for i := 1 to N do begin
    for j := 1 to N do begin
      if j > i then
        //Выше главной диагонали.
        H := H + [ Arr[i, j] + 127 ] //+127 - т. к. элементы множества не могут быть отрицательными.
      else if j < i then
        //Ниже главной диагонали.
        L := L + [ Arr[i, j] + 127 ]
      ;
    end;
  end;
 
  CntH := 0;
  CntL := 0;
  for i := 0 to 127 + 127 do begin
    if i in H then Inc(CntH);
    if i in L then Inc(CntL);
  end;
 
  if CntH = CntL then begin
    Memo1.Lines.Add('С обеих сторон от главной диагонали одинаковое количество различных элементов.');
  end else if CntH > CntL then begin
    Memo1.Lines.Add('Выше гл. диагонали различных элементов больше, чем ниже гл. диагонали.');
  end else begin
    Memo1.Lines.Add('Ниже гл. диагонали различных элементов больше, чем выше гл. диагонали.');
  end;
 
  Memo1.Lines.Add('Сравнение перечней различных элементов:');
  StrH := 'Выше гл. диагонали: ';
  StrL := 'Ниже гл. диагонали: ';
  for i := 0 to 127 + 127 do begin
    if i in H then begin
      StrH := StrH + #9 + IntToStr(i - 127);
    end;
    if i in L then begin
      StrL := StrL + #9 + IntToStr(i - 127);
    end;
  end;
  Memo1.Lines.Add(StrH);
  Memo1.Lines.Add(StrL);
 
end;
2
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 25
31.05.2010, 13:11  [ТС] 3
Mawrat, огромнейшее СПАСИБО) Моей благодарности нет предела
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2010, 13:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

никак не получается (
как определить функцию ,принимающую в качестве аргумента список чисел.Результат функции -список...

Никак не получается сделать h1
У меня какая то проблема толи с хостинго толи с компом. Не как не могу создать кнопку с тегом &lt;h1&gt;....

Никак не получается создать форму!
И в конструкторе, и в мастере форм пробовал. Уже более 10 раз пробовал. В этом деле я новичок,...

Никак не получается Создать запросы
Спроектировать БД «Программа передач на неделю», с помощью которой можно будет получить ответы на...

Никак не получается настроить интернет
Никак не получается настроить интернет, карта Skay Star3 (TT-budget s-1401). Сигнал есть, globax...

задача на последовательности никак не получается
Вводится последовательность вещественных чисел, оканчивающаяся нулём, и состоящая более чем из...


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

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

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