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

упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю. - C++

Восстановить пароль Регистрация
 
sanek15
1 / 1 / 0
Регистрация: 10.10.2011
Сообщений: 89
21.11.2011, 22:23     упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю. #1
Код
void main(int argc, char* argv[])
{
  clrscr();
    int n;
    cout  << "Vvedite n: ";
    cin >> n;
    int **a = new int*[n];
    for (int i = 0; i < n; i++)
     a[i] = new int[n];
    for (int i = 0 ;i < n; i++)
     for (int j = 0; j < n; j++)
     {
      cout << "a[" << i+1 << "," << j+1 << "]: ";
      cin >> a[i][j];
     }

    cout << "MATRIX: " << endl;
    for (int i = 0; i < n; i++)
    {
     for (int j = 0; j < n; j++)
      cout << setw(5) << a[i][j];
     cout << endl << endl;
    }

   int count = 0;
   int sum = 0;
   for (int i = 0 ;i < n; i++)
     for (int j = 0; j < n; j++)
      if ((i > j) && (a[i][j] < 0))
       {
        sum+=a[i][j];
        count++;
       }
   cout << endl;
   cout << "Summa otricatelnih elementov pod glavnoy diagonalyu: " << sum << endl;
   cout << "Kolichestvo otricatelnih elementov pod glavnoy diagonalyu: " << count << endl;
  getch();
}
Добавлено через 10 минут
найти все натуралные числа не превосходящие заданного n,которые делятся на каждую из своих цифр.
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
void main(int argc, char* argv[])
{
  clrscr();
   long n;
   cout << "Vvedite n: ";
   cin >> n;
   for (int i = 1; i < n; ++i) 
  { 
    int t = i; 
    int d[10]; 
    memset(d, 0, sizeof(d)); 
 
    do 
    { 
      ++d[t % 10]; 
    } while (t /= 10); 
 
    if (d[0]) 
    { 
      continue; 
    } 
 
    bool bOK = true;
    for (int j = 1; j < 10; ++j) 
    { 
      if (d[j] && (i % j) != 0) 
      {
        bOK = false;
        break; 
      } 
    } 
 
    if (bOK) 
    { 
     cout << i << endl;
    } 
  }
 
  getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 22:23     упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю.
Посмотрите здесь:

Массив: Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней C++
C++ вычислить сумму элементов матрицы над главной диагональю под главной диагональю и на главной диагонали
Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю C++
C++ Вычислить произведение нечетных отрицательных элементов расположенных под главной диагональю матрицы
C++ -Двумерный массив вычислить сумму и число положительных элементов матрицы A[N,N], находящихся над главной диагональю
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
St1ck_man
9 / 9 / 1
Регистрация: 21.11.2011
Сообщений: 36
22.11.2011, 00:07     упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю. #2
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
41
42
43
#include <iostream.h>
 #include <stdio.h>
 #include <string.h>
 #include <conio.h>
 
int main(int argc, char* argv[])
{
  //clrscr();
    int n;
    cout  << "Vvedite n: ";
    cin >> n;
    int **a = new int*[n];
    for (int i = 0; i < n; i++)
     a[i] = new int[n];
    for (int i = 0 ;i < n; i++)
     for (int j = 0; j < n; j++)
     {
      cout << "a[" << i+1 << "," << j+1 << "]: ";
      cin >> a[i][j];
     }
 
    cout << "MATRIX: " << endl;
    for (int i = 0; i < n; i++)
    {
     for (int j = 0; j < n; j++)
      cout << "  "<< a[i][j];
     cout << endl << endl;
    }
 
   int count = 0;
   int sum = 0;
   for (int i = 0 ;i < n; i++)
     for (int j = 0; j < i; j++)
      if (a[i][j] < 0)
       {
        sum+=a[i][j];   //так сумма или произведение?)подредактируйте
        count++;
       }
   cout << endl;
   cout << "Summa otricatelnih elementov pod glavnoy diagonalyu: " << sum << endl;
   cout << "Kolichestvo otricatelnih elementov pod glavnoy diagonalyu: " << count << endl;
  getch();
}
у вас код посути верный , надо немного подредактировать .Для суммы или проиведения элементов поменяйте оператор в прокоментированной строке.
sanek15
1 / 1 / 0
Регистрация: 10.10.2011
Сообщений: 89
22.11.2011, 14:11  [ТС]     упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю. #3
мне произведение нужно найти..
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
22.11.2011, 14:47     упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю. #4
sanek15, знак умножения поставить не судьба?
Yandex
Объявления
22.11.2011, 14:47     упростите прогу...вычислить произведение и число отрицательных элементов матрицы А[N,N],находящихся под главной диагональю.
Ответ Создать тему
Опции темы

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