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

Заменить диагонали заданной матрицы нулями - C++

Восстановить пароль Регистрация
 
Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112
09.06.2012, 19:20     Заменить диагонали заданной матрицы нулями #1
Помогите реализовать

Если в заданной матрице А(N,N) есть хотя бы один элемент, больший ста, то элементы обеих диагоналей заменить нулями.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2012, 19:20     Заменить диагонали заданной матрицы нулями
Посмотрите здесь:

C++ Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали
C++ Матрица, заменить диагонали - нулями
В заданной матрице заменить К-ю строку и L-й столбец нулями, кроме элемента, расположенного на их пересечении C++
C++ Массивы:многомерный и одномерный (заменить нулями все отрицательные числа выше главной диагонали)
Дана квадратная матрица. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cactus09
Чайник
 Аватар для cactus09
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
09.06.2012, 20:16     Заменить диагонали заданной матрицы нулями #2
C++ (Qt)
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
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  int mass[5][5];
  
  for(int i=0;i<5;i++){
   for(int j=0;j<5;j++){
   cout<<"Vvedite element #"<<i<<":"<<j<<" ";
   cin>>mass[i][j];
   }
  }
  
  for(int i=0;i<5;i++){
   for(int j=0;j<5;j++){
 
    if(mass[i][j]>100){
      for(int i1=0,j2=0;i1<5;i1++,j2++){
        mass[i1][j2]=0;
      }
      for(int i1=4,j2=0;i1>=0;i1--,j2++){
        mass[i1][j2]=0;
      }
     break;
    }
   }
  }
  
  cout<<"----------Matrica----------"<<endl;
  
  for(int i=0;i<5;i++){
   for(int j=0;j<5;j++){
   cout<<mass[i][j]<<" ";
   }
   cout<<endl;
  }
  
  system("PAUSE");  
  return 0;
}
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
09.06.2012, 20:17     Заменить диагонали заданной матрицы нулями #3
Чем помочь-то?
cactus09
Чайник
 Аватар для cactus09
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
09.06.2012, 20:24     Заменить диагонали заданной матрицы нулями #4
Jtalk,

Не по теме:

Slowpok не слупок, это ты слоупок

Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
09.06.2012, 20:38     Заменить диагонали заданной матрицы нулями #5

Не по теме:

Странное дело: не появлялся тут меньше полугода, а тут уже и фриланс в C++ переехал, и школьников полные автобусы понавезли.



Использовать using namespace std — моветон.
Выделять по int на индексы для [0..4] — моветон.
Замену можно сделать в один цикл.
break выбросит только из первого цикла.
Задача была сформулирована для квадратных матриц N*N, а не 5*5.
Ну и "vvedite" и "matrica", конечно, вне конкуренции.
Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112
09.06.2012, 20:46  [ТС]     Заменить диагонали заданной матрицы нулями #6
Цитата Сообщение от Jtalk Посмотреть сообщение
фриланс в C++
таки не сложная задача, школьного уровня

Цитата Сообщение от Jtalk Посмотреть сообщение
моветон
Борда на то и борда, мб кто то подредактирует. моветон в карательных сообщениях скорее проявляется

Цитата Сообщение от Jtalk Посмотреть сообщение
Задача была сформулирована для квадратных матриц N*N
а тут таки да
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
09.06.2012, 20:51     Заменить диагонали заданной матрицы нулями #7
Цитата Сообщение от Slowpok Посмотреть сообщение
таки не сложная задача, школьного уровня


Борда на то и борда, мб кто то подредактирует. моветон в карательных сообщениях скорее проявляется


а тут таки да
Я прекрасно знаю, какого уровня эта задача.
Чтобы "подредактировать" нужен код. А вы кода не предоставили, вы сказали "вот задача, сделайте-ка мне красиво". Если честно, не понимаю, что двигает местных помогать таким как вы: спортивного интереса в ворочании массивов нет никакого, денежного профита тоже, альтруизм в чистом виде.
Выложите свой код, и я с радостью подскажу вам, где вы ошиблись и почему у вас не работает. А писать каждому школьнику, ленящемуся ввести "замена элемента матрицы C++" в гугле, реализацию я не хочу.
cactus09
Чайник
 Аватар для cactus09
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
09.06.2012, 21:07     Заменить диагонали заданной матрицы нулями #8
Jtalk,
Цитата Сообщение от cactus09 Посмотреть сообщение
Slowpok не слупок, это ты слоупок
Цитата Сообщение от Slowpok Посмотреть сообщение
Сообщение от Jtalk Посмотреть сообщение
моветон
прошу прошения если в чем-то обидил вас, - не по злобе душевной,по недоумию


Цитата Сообщение от Jtalk Посмотреть сообщение
Если честно, не понимаю, что двигает местных помогать таким как вы: спортивного интереса в ворочании массивов нет никакого, денежного профита тоже, альтруизм в чистом виде.
Кого вы ожидали увидеть в разделе "Форум С++ для начинающих"? Гуру и Профи, ну тогда вам в другой раздел, тут новички (как вы вырезались - школьники)- просто для кого-то это крик о помощи, а для кого-то решение задачек - маленькая практика.

Не по теме:

Прошу не рассматривать мое сообщение как оскорбление

Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112
09.06.2012, 21:13  [ТС]     Заменить диагонали заданной матрицы нулями #9
создал тему, что бы было от чего оттолкнуться, "красиво" не просил

Выложите свой код, и я с радостью подскажу вам, где вы ошиблись и почему у вас не работает.
постараюсь
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
09.06.2012, 21:20     Заменить диагонали заданной матрицы нулями #10
Цитата Сообщение от cactus09 Посмотреть сообщение
прошу прошения если в чем-то обидил вас, - не по злобе душевной,по недоумию
Просто постарайтесь не обзывать незнакомых людей.

Раз вы тут отвечаете, видимо, вы хотите заниматься программированием? Тогда эти задачки вам не помогут. Хотите практику — напишите эту задачу, например, с использованием boost uBLAS. Там есть итераторы для матриц, можно попробовать обойти их с std::transform. Или boost foreach. Вот это для вас, может, будет задачкой. А написать два цикла — это не практика, это так, баловство.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2012, 21:22     Заменить диагонали заданной матрицы нулями
Еще ссылки по теме:

C++ Матрица. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее
Дано матрицу А размером 6х5. Заменить в матрице элементы главной диагонали нулями C++
Заменить нулями элементы матрицы, лежащие ниже побочной диагонали C++

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

Или воспользуйтесь поиском по форуму:
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
09.06.2012, 21:22     Заменить диагонали заданной матрицы нулями #11
для замены главной диагонали на нуль:
C++
1
2
3
4
char j=1
for (char i=1, i<=N, i++, j++)
mass[i][j]=0
//char для экономии памяти
Yandex
Объявления
09.06.2012, 21:22     Заменить диагонали заданной матрицы нулями
Ответ Создать тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru