Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
SpartanecLexa
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 176
#1

Получить целочисленную квадратную матрицу по правилу - C++

23.10.2013, 11:29. Просмотров 523. Ответов 15
Метки нет (Все метки)

Добрый день! Помогите решить задачку.
Дана вещественная квадратная матрица порядка N. Получить целочисленную квадратную матрицу, в которой элемент равен 1, если соответствующий ему элемент исходной матрицы больше элемента, расположенного на главной диагонали. и равен 0 в противном случае.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 11:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить целочисленную квадратную матрицу по правилу (C++):

Построить квадратную целочисленную матрицу указанного порядка по заданному правилу - C++
Построить целочисленную матрицу A(10;10), заполнив её следующим образом: a(1,1)=1 a(1,2)=a(2,2)=а(2,1)=2 ...

Построить целочисленную квадратную матрицу заданного порядка по указанному правилу - C++
5. Построить целочисленную матрицу А(7;7) на побочной диагонали которой 1, над ней 2, под ней 3, все остальное 0.

Получить целочисленную квадратную матрицу размерностью - C++
Получить целочисленную квадратную матрицу размерностью NхN, элементами которой являются числа 1, 2, … N^2, расположенные в матрице по...

Получить целочисленную матрицу по правилу - C++
Здраствуйте! Задача такова: Даны целые числа а1, а2, а3. Получить целочисленную матрицу i,j=1,2,3, для которой bij=ai-3aj. Я думал что...

Получить квадратную матрицу по правилу - C++
кто может напишите код пожалуйста

Заполнить целочисленную квадратную матрицу по спирали - C++
Получить целочисленную квадратную матрицу порядка 2n+1, элементами которой являются числа 1, 2, 3, ... , (2*n + 1), расположенные в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
23.10.2013, 11:52 #2
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
Добрый день! Помогите решить задачку.
Дана вещественная квадратная матрица порядка N. Получить целочисленную квадратную матрицу, в которой элемент равен 1, если соответствующий ему элемент исходной матрицы больше элемента, расположенного на главной диагонали. и равен 0 в противном случае.
C++
int main()
{
  const int N = 5;
  int ar[N][N];
  for(int x=0; x<N; x++)
    for(int y=0; y<N; y++)
      ar[x][y]= rand()%10;
 
  nw[N][N];
 
  for(int x=0; x<N; x++)
    for(int y=0, d=0; y<N; y++, d++)
      if(ar[x][y] > ar[x][y+d]) nw[x][y] =1;
      else nw[x][y] =0;
 
}
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
31.10.2013, 11:50 #3
C++
int main()
{
  const int N = 5;
  int ar[N][N];
  for(int x=0; x<N; x++)
    for(int y=0; y<N; y++)
      ar[x][y]= rand()%10;
 
   int nw[N][N]; // добавила забытый тип) 
 
  for(int x=0; x<N; x++)
    for(int y=0, d=0; y<N; y++, d++)
      if(ar[x][y] > ar[x][y+d]) nw[x][y] =1;
      else nw[x][y] =0;
 
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
31.10.2013, 11:55 #4
Цитата Сообщение от programina Посмотреть сообщение
if(ar[x][y] > ar[x][y+d])
выход за пределы массива.

Не по теме:

А куда делись номера строк кода?

programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
31.10.2013, 12:13 #5
Tulosba, не может этого быть, я проверяла.

0 + 4 = 4
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
31.10.2013, 12:16 #6
programina, каких значений может достигать индекс [y+d] по-вашему?
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
31.10.2013, 12:20 #7
Цитата Сообщение от programina Посмотреть сообщение
Tulosba, не может этого быть, я проверяла.

0 + 4 = 4
Tulosba прав. У вас в строчках:
C++
1
2
3
4
  for(int x=0; x<N; x++)
    for(int y=0, d=0; y<N; y++, d++)
      if(ar[x][y] > ar[x][y+d]) nw[x][y] =1;
      else nw[x][y] =0;
ar[x][y+d], y и d растет по прямой то есть на втором обороте цикла будет 1 + 1, потом 2 + 2, 3 + 3 что уже находится за рамками массива
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
31.10.2013, 12:44 #8
Цитата Сообщение от programina Посмотреть сообщение
Tulosba, не может этого быть, я проверяла.
А как же здравый смысл?
Tulosba
31.10.2013, 12:50
  #9

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
А как же здравый смысл?
Но программа же РАБОТАЕТ!!1!

castaway
31.10.2013, 12:52
  #10

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Но программа же РАБОТАЕТ!!1!
В зависимости от фазы луны если только))

programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
31.10.2013, 13:03 #11
Ох. Программирование - это не мое.
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
31.10.2013, 13:13 #12
Цитата Сообщение от programina Посмотреть сообщение
Ох. Программирование - это не мое.
Та будет вам, просто сыграла шутку невнимательность, даже у профессионалов такое бывает, что то не заметили и т.д.
SpartanecLexa
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 176
18.12.2013, 13:00  [ТС] #13
как сделать вывод результата на экран?

Добавлено через 33 секунды
Цитата Сообщение от programina Посмотреть сообщение
C++
int main()
{
  const int N = 5;
  int ar[N][N];
  for(int x=0; x<N; x++)
    for(int y=0; y<N; y++)
      ar[x][y]= rand()%10;
 
   int nw[N][N]; // добавила забытый тип) 
 
  for(int x=0; x<N; x++)
    for(int y=0, d=0; y<N; y++, d++)
      if(ar[x][y] > ar[x][y+d]) nw[x][y] =1;
      else nw[x][y] =0;
 
}
как сделать вывод результата на экран?
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
18.12.2013, 13:13 #14
printf
SpartanecLexa
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 176
18.12.2013, 14:19  [ТС] #15
Цитата Сообщение от programina Посмотреть сообщение
printf
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
  const int N = 5;
  int ar[N][N];
  for(int x=0; x<N; x++)
    for(int y=0; y<N; y++)
      ar[x][y]= rand()%10;
 
   int nw[N][N]; // добавила забытый тип) 
 
  for(int x=0; x<N; x++)
    for(int y=0, d=0; y<N; y++, d++)
      if(ar[x][y] > ar[x][y+d]) nw[x][y] =1;
      else nw[x][y] =0;
printf("%nw",nw);
system("PAUSE")
return 0;
так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 14:19
Привет! Вот еще темы с ответами:

Получить целочисленную матрицу - C++
Нужна помощь в решении задания на С++. Искал в поиске и на форуме, находил подобные вопросы, но не находил ответа.Спасибо кто отозвался ...

Получить целочисленную матрицу - C++
Задание ниже: Nastik23, оформите тему в соответствии с правилами форума: текстовые задания набирайте от руки

Получить целочисленную матрицу - C++
Доброго времени суток, прощу помощи не могу понять тему про матрицы... Сильно не кричите:) Получить целочисленную матрицу Aij i=1...5...

Заполнить квадратную матрицу порядка N по определенному правилу - C++
Дан двумерный массив состоящий из NxN( N вводится с клавиатуры). задача заключается в том, что надо сделать так: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.12.2013, 14:19
Ответ Создать тему
Опции темы

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