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

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

Войти
Регистрация
Восстановить пароль
 
ЕЛЕНА Димова
0 / 0 / 0
Регистрация: 12.06.2013
Сообщений: 2
#1

Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию - C++

12.06.2013, 20:30. Просмотров 676. Ответов 4
Метки нет (Все метки)

Дана целочисленная матрица A(N, M). Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию | ai j | < i.Помогите исправить ошибки в этой программе, она работает не правильно так как сумма всегда равна 0, а произведение всегда равно 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
#include "stdafx.h"
#include "conio.h"
#include "locale.h"
#include "math.h"
int main()
{
setlocale (LC_ALL,"rus");
int a[100][100], N, M, i, j,S=0,P=1;
printf("Введите N и M: ");
scanf("%d %d",&N, &M);
for (i=0;i<N;i++)
for (j=0;j<M;j++)
{printf("Введите элемент массива: a[%d][%d]: ",i,j);
scanf("%d",&a[i][j]);}
for 
(i=0;i<N;i++)
for (j=0;j<M;j++)
{if ((abs(a[i][j])<i) && (a[i][j]<0) && (a[i][j]&1))
{S=S+a[i][j];
P=P*a[i][j];}}
printf("Сумма =%d",S);
printf("Произведение =%d",P);
getch ();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 20:30     Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию
Посмотрите здесь:

Вычислить количество и произведение элементов массива, удовлетворяющих условию C++
Дана матрица A(3,3) Найти максимальный элемент 2й строки среди элементов, удовлетворяющих условию -1,2<=A2i<=4,7 C++
C++ Дана квадратная матрица A[N,N]. Записать на место отрицательных элементов матрицы нули
Дана целочисленная матрица A(N, M). Вычислите сумму и произведение тех её элементов, которые при делении на два дают нечётное число. C++
Найти произведение элементов, удовлетворяющих условию 0 < tan < 1 C++
C++ Дана целочисленная прямоугольная матрица. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов
Дана квадратная матрица найти количество отрицательных элементов , среднее арифметическое, произведение C++
C++ Произведение элементов удовлетворяющих условию 0<tgXj < 1, А также сумму положительных
C++ Найти произведение элементов массива, удовлетворяющих заданному условию
C++ Вывести на экран матрицу, сумму элементов побочной диагонали и сумму элементов, удовлетворяющих условию
Вычислить и вывести на экран сумму элементов заданной матрицы, удовлетворяющих условию C++
Найти произведение элементов массива, удовлетворяющих условию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
12.06.2013, 20:47     Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию #2
Всё работает! ты наверняка не те числа вводишь. Там довольно строгое условие, чтобы число удовлетворяло добавлению в сумму. Например, в моём примере только два числа из девяти введённых удовлетворяют условию

Добавлено через 2 минуты
http://s2.ipicture.ru/uploads/201306...s/w4xQXt8O.jpg

Добавлено через 3 минуты
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
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
int main()
{
    setlocale (LC_ALL,"rus");
    int a[100][100], N, M, i, j,S=0,P=1;
    printf("Введите N и M: ");
    scanf("%d %d",&N, &M);
    for (i=0;i<N;i++)
      for (j=0;j<M;j++) {
            printf("Введите элемент массива: a[%d][%d]: ",i,j);
        scanf("%d",&a[i][j]);
          }
    for (i=0;i<N;i++)
      for (j=0;j<M;j++){
             if ((abs(a[i][j])<i) && (a[i][j]<0) && (a[i][j]&1)){
               S=S+a[i][j];
               P=P*a[i][j];
             }
          }
    printf("Сумма =%d",S);
    printf("Произведение =%d",P);
    getch ();
    return 0;
}
Nikolai699
16 / 16 / 3
Регистрация: 15.03.2012
Сообщений: 105
12.06.2013, 20:50     Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию #3
Kuzia domovenok, поясните пожалуйста что значит эта запись
C++
1
(a[i][j]&1)
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
12.06.2013, 21:03     Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию #4
Цитата Сообщение от Nikolai699 Посмотреть сообщение
Kuzia domovenok, поясните пожалуйста что значит эта запись
C++
1
(a[i][j]&1)
Особая проверка числа на нечётность.
Нечётное число это число, которое не делится без остатка на 2.
Оператор получения остатка от деления в языке Си это %
Поэтому аналогично вместо этой записи можно было б написать
C++
1
(a[i][j]%2!=0) //если остаток от деления на 2 не равен 0
Однако есть более оптимальный способ проверки нечётности.
По двоичному представлению числа, его чётность/нечётность можно определить без операции деления.
Достаточно посмотреть, чему равен младший разряд.
Как в десятичной системе ноль в младшем разряде числа является признаком делимости на 10. (550 делится на 10)
Так и аналогично в двоичной системе ноль в младшем разряде числа является признаком делимости на 2! (110(дв.) делится на 2)
Проверить отсутствие нуля во младшем разряде можно операцией побитового "И" с числом "один".
Так как в числе один в двоичной системе все разряды нули, кроме одного младшего. То результат операции "И" будет равен единице, если число нечётное и нулю, если число чётное.
6&1 равно 0
7&1 равно 1
Операция справедлива и для отрицательных чисел, представляемых в дополнительном коде.
Поэтому if (a[i][j]&1) означает "если a[i][j] нечётное"
Nikolai699
16 / 16 / 3
Регистрация: 15.03.2012
Сообщений: 105
12.06.2013, 21:08     Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию #5
Kuzia domovenok, спасибо за объяснение, очень доступно)просто первый раз встретил такую запись)
Yandex
Объявления
12.06.2013, 21:08     Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию
Ответ Создать тему
Опции темы

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