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

В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали - C++

Восстановить пароль Регистрация
 
VILENA13
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 8
28.03.2013, 22:39     В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали #1
В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали и вывести результаты.
что не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <locale> 
#include <algorithm> 
 
#include <stdlib.h> 
#include <time.h> 
 
int main() 
{ 
setlocale(LC_ALL, ""); 
srand((unsigned) time(NULL)); 
 
int m[10][10]; 
std::generate_n(&m[0][0], sizeof(m) / sizeof(m[0][0]), &rand); 
 
int sum = 0; 
for (size_t i=0; i < sizeof(m) / sizeof(m[0]); i++) 
sum += m[ i ][ i ]; 
 
std::replace_if(&m[0][0], &m[0][0] + sizeof(m) / sizeof(m[0][0]), [](int v){ return v & 1; }, sum); 
 
return 0; 
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2013, 22:39     В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали
Посмотрите здесь:

C++ В квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент
C++ Проверить что в квадратной матрице все нули кроме главной диагонали
C++ Как заменить все элементы главной диагонали в квадратной матрицы на какое-то число?
C++ Обнулить в квадратной матрице элементы, лежащие выше главной и ниже побочной диагонали
В квадратной матрице найти сумму элементов ниже главной диагонали C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
29.03.2013, 07:41     В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали #2
Цитата Сообщение от VILENA13 Посмотреть сообщение
что не так?
Всё так. Только вывести осталось.
VILENA13
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 8
30.03.2013, 20:19  [ТС]     В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали #3
помогите с выводом
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
30.03.2013, 21:02     В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
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
#include <iostream>
#include <iomanip>
#include <locale>
#include <algorithm>
 
#include <cstdlib>
#include <ctime>
 
int main()
{
   setlocale(LC_ALL, "");
   srand((unsigned) time(NULL));
 
   int m[10][10];
   std::generate_n(&m[0][0], sizeof(m) / sizeof(m[0][0]), [](){return rand()%10;});
 
   std::cout << "source" << std::endl;
   for (size_t i = 0; i < 10; ++i)
   {
      std::for_each(&m[i][0], &m[i][10], [](int v){std::cout << std::setw(3) << v;});
      std::cout << std::endl;
   }
 
   int sum = 0;
   for (size_t i = 0; i < sizeof(m) / sizeof(m[0]); i++)
   {
      sum += m[i][i];
   }
 
   std::replace_if(&m[0][0], &m[0][0] + sizeof(m) / sizeof(m[0][0]), [](int v){return v & 1;}, sum);
 
   std::cout << "result" << std::endl;
   for (size_t i = 0; i < 10; ++i)
   {
      std::for_each(&m[i][0], &m[i][10], [](int v){std::cout << std::setw(3) << v;});
      std::cout << std::endl;
   }
 
   return 0;
}
В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали

P.S.: на вашем месте я бы попросил упростить код, т.е. реализовать задачу без использования STL и лямбда выражений, ибо если вы даже вывод реализовать не можете, то сдать этот код вам будет не под силу.
Yandex
Объявления
30.03.2013, 21:02     В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали
Ответ Создать тему
Опции темы

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