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

В чем ошибка? В массиве обнулить побочную диагональ. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить рекурсивную функцию, которая находит цифровой корень целого числа http://www.cyberforum.ru/cpp-beginners/thread560885.html
помогите решить задачу на С++ Составить рекурсивную функцию, которая находит цифровой корень целого числа. Цифровой корень находится суммой через сумму цифр числа до того момента, пока эта сумма...
C++ Составить функцию, которая вычисляет радиус R окружности Помогите решить задачу на С++ Составить функцию, которая вычисляет радиус R окружности, описанной вокруг правильного многоугольника с известной длиной стороны a и известным числом сторон n по... http://www.cyberforum.ru/cpp-beginners/thread560882.html
Построение кривой 2-го порядка C++
Собственно нужно построить кривую по пяти точкам Общее уравнение кривой......
Строка: посчитать частоту появления каждого символа C++
Для произвольного текста на произвольном языке с учетом регистра посчитать частоту появления каждого символа.
C++ Из ведомости работников цеха определить, сколько в цехе мужчин-токарей? http://www.cyberforum.ru/cpp-beginners/thread560841.html
Всем привет. Очень нужна ваша помощь, вот такое условие задачи "Из ведомости работников цеха определить, сколько в цехе мужчин-токарей?", все никак не допру как ее реализовать. Всем спасибо!
C++ скомпилировать из коммандной строки через MSV2010 Привет всем, никак не могу скомпилировать из под командной строки компилятором MSV2010 Ultimate, компиялтор cl.exe, вызываю в командной строке его, мне сразу выдает ошибку, посмотрел ошибку в... подробнее

Показать сообщение отдельно
andy_111
90 / 59 / 2
Регистрация: 03.07.2011
Сообщений: 148
28.04.2012, 15:11
Я посчитал и получилось, что для элементов побочной диагонали квадратной матрицы суммы индексов столбца и строки равны и составляют число строк + 1.
Таким образом, получаем код для обнуления побочной диагонали

C++
1
2
3
for(i=1;i<n;i++)
   for(j=1;j<n;j++)
       if (i+j == n) a[i][j] = 0;
Вообще ну очень неудобно то, что вы считаете массивы с 1 Здесь у меня стоит условием i+j == n, так как массивы считаются с 1.

В общем вот так будет :

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
#include <iostream.h>
 
int main()
{
 system("chcp 1251");
 system("cls");
 int a[128][128];
 int i,j,m,n,o;
 cout << "Array size: ";
 cin >> n;
 
 cout << "Array: \n";
 for(i=1;i<n;i++)
 for(j=1;j<n;j++)
 cin >> a[i][j];
 
 for(i=1;i<n;i++)
 {
  for(j=1;j<n;j++)
    cout << a[i][j] << " ";
    cout << endl;              
 }
    o = n + 1;
   for(i=1;i<n;i++)
      for(j=1;j<n;j++)
       if (i+j == n) a[i][j] = 0;
 
 cout << "Answer: \n";
 for(i=1;i<n;i++)
 {
  for(j=1;j<n;j++)               
   cout << a[i][j] << " ";
   cout << endl;
  
 }
     
 system("PAUSE");    
 return 0;   
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru