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

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

Войти
Регистрация
Восстановить пароль
 
Immes
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 13
#1

Сумма элементов в столбцах без отрицательных элементов - C++

23.01.2009, 22:37. Просмотров 1084. Ответов 9
Метки нет (Все метки)

Помогите,пожалуйста,написать программу,которая считала бы сумму элементов в столбцах,которые не содержат отрицательных элементов.
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <complex>
 
using namespace std;
 
int main()
{
    const int Nmax=10;
    int A[Nmax][Nmax],n,m,i,j,min,summa=0,summa1=0;
    bool flag=true;
 
    printf("vvedite kolichestvo strok: ");
    scanf("%d",&m);
    printf("vvedite kolichestvo stolbcov: ");
    scanf("%d",&n);
    printf("vvod elementov massiva\n");
    for (i=0; i<m; i++)
    {
        printf("vvedite elementi %d stroki\n",i+1);
        for (j=0; j<n; j++)
        scanf("%d",&A[i][j]);
    }   
    for(j=0;j<n;j++)
    {
        flag=true;
        for(i=0;i<m;i++)
        {
            if(A[i][j]<0)
            {
                flag=false;
                break;
            }
            summa1=summa1+A[i][j];
        }
    }
        summa=summa+summa1;
    printf("\nvvedennaya matrica\n");
    for (i=0; i<m;i++)
    {
        for (j=0; j<n; j++)
        {
            printf("%3d ",A[i][j]);
        }
        printf("\n");
    }
        printf("summa ravna %d ",summa);
    getch();
    return 0;
}
Уже несколько вариантов испробовала,в этом считает,только если отрицательный элемент в первой строке...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2009, 22:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма элементов в столбцах без отрицательных элементов (C++):

Сумма элементов в тех столбцах, которые не содержат отрицательных элементов. - C++
Первый раз выдает все правильно, а потом начинает выдавать лишние суммы... не пойму что нужно исправить... буду благодарен за помощь) ...

Найти сумму элементов заданной матрицы в столбцах не содержащих отрицательных элементов - C++
Помогите написать код! Задача: Дана целочисленная квадратная матрица. Определить сумму элементов в тех столбцах, которые не...

Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - C++
эту задачу простым языком в Delphi Дана целочисленная квадратная матрица. Определить: 1.) сумму элементов в тех столбцах, которые не...

Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - C++
Дана матрица A(n,m). Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов. Помогите, пожалуйста

Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; 2)...

Определить сумму элементов в столбцах матрицы не содержащих отрицательных элементов - C++
дана целочисленная квадратная матрица.Определить: 1)сумму элементов в тез столбцах,которые не содержат отрицательных элементов; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Alexen
5 / 5 / 0
Регистрация: 14.11.2008
Сообщений: 77
23.01.2009, 23:20 #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
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <conio.h>
 
 
 
 
int main()
{
     const int Nmax=10;
     int A[Nmax][Nmax], m, n, Sum = 0, count = 0;
 
 
     printf("vvedite kolichestvo strok: ");
     scanf("%d",&m);
 
     printf("vvedite kolichestvo stolbcov: ");
     scanf("%d",&n);
     printf("vvod elementov massiva\n");
     for (int i=0; i<m; i++)
     {
          printf("vvedite elementi %d stroki\n",i+1);
          for (int j=0; j<n; j++)
          scanf("%d",&A[i][j]);
     }
 
 
     printf("\nvvedennaya matrica\n");
     for (i=0; i<m;i++)
     {
          for (int j=0; j<n; j++)
          {
                printf("%3d ",A[i][j]);
          }
          printf("\n");
     }
 
    for(i = 0; i< m ; i++)
     {
      for(int j = 0; j < n; j++)
         {
            count += A[j][i];
            if(A[j][i] < 0)
             {count = 0; break;}
         }
      Sum += count;
      count = 0;
     }
 
 
          printf("summa ravna %d ",Sum);
 
     getch();
     return 0;
}
0
Immes
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 13
24.01.2009, 11:10  [ТС] #3
Спасибо.Но почему-то всё время выводит,что сумма равна нулю.А если сделать так,
C++
1
2
3
4
for(j = 0; j< n; j++)
    {
        for(i = 0; i < m; i++)
        {
то считает,если элемент отрицательный в третьем столбце...
0
Alexen
5 / 5 / 0
Регистрация: 14.11.2008
Сообщений: 77
24.01.2009, 18:38 #4
вот код который по условию выводит сумму по положительным столбцам
C++
1
2
3
4
5
6
7
8
9
10
11
for(i = 0; i< m ; i++)
     {
      for(int j = 0; j < n; j++)
         {
            count += A[j][i];
            if(A[j][i] < 0)
             {count = 0; break;}
         }
      Sum += count;
      count = 0;
     }
0
Immes
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 13
24.01.2009, 20:16  [ТС] #5
Если матрица квадратная,то считает правильно.А что делать,если количество столбцов отличается от количества строк?
0
Alexen
5 / 5 / 0
Регистрация: 14.11.2008
Сообщений: 77
24.01.2009, 22:16 #6
Сори проглядел что есть столбцы а что строки (m, n ))) вот так должно работать
C++
1
2
3
4
5
6
7
8
9
10
11
for(i = 0; i< m ; i++)
     {
      for(int j = 0; j < n; j++)
         {
            count += A[j][i];
            if(A[j][i] < 0)
             {count = 0; break;}
         }
      Sum += count;
      count = 0;
     }
0
Immes
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 13
25.01.2009, 12:04  [ТС] #7
А...тут что-то изменилось?
0
Alexen
5 / 5 / 0
Регистрация: 14.11.2008
Сообщений: 77
25.01.2009, 19:35 #8
Незнаю ))) работает
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 <stdio.h>
#include <conio.h>
 
 
 
 
int main()
{
     const int Nmax=10;
     int A[Nmax][Nmax], m, n, Sum = 0, count = 0;
 
 
     printf("vvedite kolichestvo strok: ");
     scanf("%d",&m);
 
     printf("vvedite kolichestvo stolbcov: ");
     scanf("%d",&n);
     printf("vvod elementov massiva\n");
     for (int i=0; i<m; i++)
     {
          printf("vvedite elementi %d stroki\n",i+1);
          for (int j=0; j<n; j++)
          scanf("%d",&A[i][j]);
     }
 
 
     printf("\nvvedennaya matrica\n");
     for (i=0; i<m;i++)
     {
          for (int j=0; j<n; j++)
          {
                printf("%3d ",A[i][j]);
          }
          printf("\n");
     }
 
    for(i = 0; i< n; i++)
     {
      for(int j = 0; j < m; j++)
         {
            count += A[j][i];
            if(A[j][i] < 0)
             {count = 0; break;}
         }
      Sum += count;
      count = 0;
     }
 
 
          printf("summa ravna %d ",Sum);
 
     getch();
     return 0;
}
1
Immes
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 13
31.01.2009, 20:43  [ТС] #9
И ещё один вопрос:выводить надо сумму каждого столбца без отрицательных элементов. Но если в столбце есть отрицательный элемент,он должен выводить только то,что условие не выполняется. А он выводит ещё и то,что сумма равна нулю. Как сделать так,чтобы сумму он в этом случае не выводил?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(j = 0; j< n; j++)
    {
        for(i = 0; i < n; i++)
        {
            sum += A[i][j];
            if(A[i][j] < 0)
            {
                printf("\nUslovie v stolbce %d ne vypolnjaetsja",j+1);
                sum = 0;
                break;
            }
        }
        printf("\nSumma elementov v stolbce %d = %d\n",j+1,sum);
        sum = 0;
    }
0
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
01.02.2009, 20:18 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
bool uslovie;
.....
 
for(j = 0; j< n; j++)
{   
   uslovie = true;
   for(i = 0; i < n; i++)
   {
      sum += A[i][j];
      if(A[i][j] < 0)
      {
         printf("\nUslovie v stolbce %d ne vypolnjaetsja",j+1);
         sum = 0;
         uslovie = false;
         break;
      }
   }
   if(uslovie!=false)
      printf("\nSumma elementov v stolbce %d = %d\n",j+1,sum);
   sum = 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2009, 20:18
Привет! Вот еще темы с ответами:

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: 1.) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; ...

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

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Сразу хочу попросить прощения, если я &quot;говнокодер&quot;. Задача следующая: Дана целочисленная квадратная матрица. Написать программу,...

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Помогите пожалуйста. Дана целочисленная квадратная матрица.Определить: 1) сумму элементов в тех столбцах, которые не содержат...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.02.2009, 20:18
Ответ Создать тему
Опции темы

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