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

Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
MikeMaster
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 15
28.07.2012, 10:14     Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент #1
Задание: Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент.
Ошибка в функции work: он ищет все отрицательные элементы, а нужно чтобы искал там где есть хоть бы один 0. Как сделать правильно это условие..

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
44
45
46
47
48
49
50
51
52
53
54
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
#include <clocale>
const int MAX_N=100;    //Максимальные размеры массива
const int MAX_M=100;
  //прототипы
void input(int matrix[][MAX_M],int n,int m);
void work (int matrix [][MAX_N], int d, int n, int m);
 
int main()
{setlocale (0 , "rus"); //установка русской локали
    int matrix[MAX_N][MAX_M];   //Матрица  // i - строки, j - столбцы
    int n=0; //Кол-во строк в наших матрицах  - введем мы
    int m=0; //Кол-во стобцов в наших матрицах  - введем мы
    int d=0;
    //Вводим кол-во строк и столбцов в наших матрицах       
    printf ("Введите кол-во строк\n");       
    scanf ("%d", &n);      
    printf ("Введите кол-во столбцов\n"); 
    scanf("%d", &m);
 
 //Заполняем первую матрицу по строкам      
    printf ("Введите элементы матрицы\n");        
    input (matrix, n, m);
    work (matrix, d, n, m);
    //output (matrix, n,m);
 return 0;          
 }        
 
void input(int matrix[][MAX_M],int n,int m)
{
  for (int i=0; i<n; i++) 
    for (int j=0; j<m; j++)
    {
        scanf ("%d", &matrix[i][j]);
    }
}           
 
void work (int matrix [][MAX_N], int d,  int n, int m)
{ int i=0; int s=0;
 
     for (int i=0; i<n; i++)
          for (int j=0; j<m; j++)
          {       
              if (matrix[i][j]==0)
                 d=1;
               
            if (matrix [i][j]<0)
              s++;
          }
printf ("%d\n", s);
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2012, 10:14     Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент
Посмотрите здесь:

Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент C++
C++ подсчитать количество отрицательных элементов в строках, которые содержат хотя бы один нулевой элемент
C++ Дана матрица А , размером n x m. Определить количество отрицательных элементов в тех строках , которые содержат хотя бы один нулевой Элемент
C++ надо сумму всех строк элементов в тех строках, которые содержат хотя бы один отрицательный элемент
В прямоугольной целочисленной матрице определить количество строк что содержат хотя бы один нулевой элемент. C++
Массив: Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент C++
C++ Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки...
Найти произведение элементов в тех строках, которые содержат хотя бы один нулевой элемент C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cojuer
0 / 0 / 0
Регистрация: 27.07.2012
Сообщений: 5
28.07.2012, 10:27     Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void work (int matrix [][MAX_N], int d,  int n, int m)
{ int i=0; int s=0;
 
     for (int i=0; i<n; i++)
          for (int j=0; j<m; j++)
          {       
              if (matrix[i][j]==0)
                 {
                  d=1;
                  for (int l=0; l<m; l++)
                  if (matrix [i][l]<0)
                  s++;
                 }
          }
printf ("%d\n", s);
 
}
Попробуй так.
MikeMaster
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 15
28.07.2012, 10:44  [ТС]     Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент #3
спасибо cojuer))) сделал еще по другому......

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void work (int matrix [][MAX_N], int s,  int n, int m)
{
 
     for (int i=0; i<n; i++)
          for (int j=0; j<m; j++)
          { for (int i=0; i<n; i++)
                {if (matrix[i][j]==0)
                 i++;
                 j++;
            }    
            if (matrix [i][j]<0)
              s++;
          }
printf ("Количество отрицательных элементов =%d\n", s);
}
Yandex
Объявления
28.07.2012, 10:44     Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент
Ответ Создать тему
Опции темы

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