0 / 0 / 0
Регистрация: 12.06.2013
Сообщений: 2
1

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

12.06.2013, 20:30. Показов 3602. Ответов 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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 20:30
Ответы с готовыми решениями:

Найти произведение отрицательных элементов массива и сумму положительных элементов, удовлетворяющих условию
Добрый вечер, не могли вы помочь с решением вот этих двух задач ? Задача 1. В одномерном...

Дана целочисленная матрица A(N, M). Вычислите сумму и произведение тех её элементов, которые при делении на два дают нечётное число.
Почему не работает???? вот задание ( может я не так понимаю задание... в коде посмотрите) 1)Дана...

Дана целочисленная матрица A(N, M). Вычислите и запомните сумму и число положительных элементов каждого столбца матрицы
Помогите дописать программу,числа больше нуля не правильно показывает #include &lt;stdio.h&gt; #include...

Дана матрица A(3,3) Найти максимальный элемент 2й строки среди элементов, удовлетворяющих условию -1,2<=A2i<=4,7
Дана матрица A(3,3) Найти максимальный элемент 2й строки среди элементов, удовлетворяющих условию...

4
4055 / 3309 / 924
Регистрация: 25.03.2012
Сообщений: 12,451
Записей в блоге: 1
12.06.2013, 20:47 2
Всё работает! ты наверняка не те числа вводишь. Там довольно строгое условие, чтобы число удовлетворяло добавлению в сумму. Например, в моём примере только два числа из девяти введённых удовлетворяют условию

Добавлено через 2 минуты
http://s2.ipicture.ru/uploads/... xQXt8O.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;
}
0
16 / 16 / 20
Регистрация: 15.03.2012
Сообщений: 106
12.06.2013, 20:50 3
Kuzia domovenok, поясните пожалуйста что значит эта запись
C++
1
(a[i][j]&1)
0
4055 / 3309 / 924
Регистрация: 25.03.2012
Сообщений: 12,451
Записей в блоге: 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] нечётное"
1
16 / 16 / 20
Регистрация: 15.03.2012
Сообщений: 106
12.06.2013, 21:08 5
Kuzia domovenok, спасибо за объяснение, очень доступно)просто первый раз встретил такую запись)
0
12.06.2013, 21:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 21:08
Помогаю со студенческими работами здесь

Дана матрица А (4,4) найти сумму нечетных элементов матрицы и произведение элементов находящихся на главной диагонали
Дана матрица А (4,4) найти сумму нечетных элементов матрицы и произведение элементов находящихся на...

Произведение элементов удовлетворяющих условию 0<tgXj < 1, А также сумму положительных
Есть 2 задачи непонятно как решать (помоему там чета не хватает) подскажите...код писать не надо,...

Вычислить и вывести на экран сумму элементов заданной матрицы, удовлетворяющих условию
Если честно не знаю как реализовать даннную программу, знаю, что через for, но как это прописать,...

Дана целочисленная прямоугольная матрица. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов
Дана целочисленная прямоугольная матрица. Определить произведение элементов в тех строках, которые...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru