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

Вывод одинакового количества положительных и отрицательных элементов в массиве

18.05.2010, 14:04. Показов 835. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!Не могу правильно написать решение задачи: требуется в рандомизированном двумерном массиве вывести номер последнего столбца,который содержит одинаковое количество положительных и отрицательных элементов.Если такого столбца нет,то вывести 0.(в языке С)
На выходе получается: массив и column N 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
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N5
#define N4
 
void main()
{
int i,j,A[N][M];
int count_negat,count_posit,column,rezult;
randomize();
clrscr();
 
printf ("Massiva sakums\n");
 for (i=0;i<N;i++)
 for (j=0;j<M;j++)
A[i][j]= - 10+rand( )%40+1;
 
   for (i=0;i<N;i++)
{
   for(j=0;j<M;j++)
    if(A[i][j]<0)
    count_negat++;
}
    if( A[i][j]>0)
    count_posit++;
}
 if(count_negat==countposit);
    j=column;
else
{
rezult=0
}
printf("column N %4d',j,column,rezult);
    getch();
Миниатюры
Вывод одинакового количества положительных и отрицательных элементов в массиве  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2010, 14:04
Ответы с готовыми решениями:

Подсчет количества положительных и отрицательных элементов в массиве
Доброго времени суток,нужна ваша помощь,написал программу по подсчету положительных и отрицательных...

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

Вычислить суммы отрицательных, произведения положительных и количества нулевых элементов в массиве
Знатоки, помогите написать программы по информатике. У меня полный завал по этой теме, а через...

Вычислить произведение количества отрицательных и количества положительных элементов одномерного массива
Указатели. Вычислить произведение количества отрицательных и количества положительных элементов...

5
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
18.05.2010, 15:56 2
Я бы так сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int rezult=0;
for (int j=Column-1; j>=0; j++)
{
    count_neg=0;
    count_pos=0;
    for (int i=0; i<Row; i++) {
        if (MAS[i][j] < 0) count_neg++;
        if (MAS[i][j] > 0) count_pos++; }
    if (count_pos==count_neg) {
        rezult=j;
        break; }
}
0
3 / 3 / 0
Регистрация: 07.03.2009
Сообщений: 47
19.05.2010, 11:36  [ТС] 3
переписал под С,вываливается misplaced break
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
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N5
#define M4
 
void main()
{
int i,j,A[N][M];
int count_negat,count_posit,column,row;
randomize();
clrscr();
 
printf ("Massiva sakums\n");
 for (i=0;i<N;i++)
 for (j=0;j<M;j++)
A[i][j]= - 10+rand( )%40+1;
 
   for (i=0;i<N;i++)
{
   for(j=0;j<M;j++)
printf("%4d", A[i][j]);
printf("\n");
 
int rezult=0;
for (j=Column-1; j>=0; j++)
{
    count_negat=0;
    count_posit=0;
    
for (int i=0; i<row; i++)
 {
        if (A[i][j] < 0) count_negat++;
        if (A[i][j] > 0) count_posit++; }
 
    if (count_pos==count_neg)
 {
        rezult=j;
        break;}
 }
printf("column N %4d,rezult,j);
}
0
1260 / 798 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
19.05.2010, 12:45 4
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
#include <stdio.h>
#include <conio.h>
 
#define H 4
#define W 4
 
int main(){
    int matrix[H][W] = {
        {1,2,3,4},
        {5,6,7,8},
        {1,2,-3,-4},
        {5,6,-7,-8}
    };
int i,j;
 
int numb_stb = - 1;
 
int count_p;
int count_n;
 
for( i = 0 ; i < W ; i++ ){
         count_p = 0;
         count_n = 0;
   for( j = 0 ; j < H ; j++ ){
            if(matrix[j][i]<0)count_n++;
            if(matrix[j][i]>0)count_p++;
         }
if(count_n==count_p)numb_stb = i;
}
 
 
if(numb_stb!=-1){
printf("numb_stb: %d ",numb_stb);
printf("\n");
}
else {  
printf("stb not found %d",numb_stb);
printf("\n");
}
getch();
return 0 ;
}
0
3 / 3 / 1
Регистрация: 15.05.2010
Сообщений: 25
19.05.2010, 12:52 5
%)

C
1
2
3
4
5
6
7
8
9
for (j=M-1; j>=0; j--) // считаем от последнего т.к. ищем последний
{
    for (i=0; i<N; i++) // прочесываем столбец
    {
        if (a[i][j]<0) {count_negat++;} // одно но, я нули за положительные считаю. 
        else {count_posit++;} // если не устраивает - исправить
    }
if (count_posit==count_negat) {result=j; break;} // выпадаем если он подошёл к условию
}
По моему так. И синтаксические ошибки у себя почисть.
0
3 / 3 / 0
Регистрация: 07.03.2009
Сообщений: 47
20.05.2010, 01:28  [ТС] 6
Спасибо,попробую отшлифовать свои огрехи.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2010, 01:28
Помогаю со студенческими работами здесь

Нахождение количества положительных и количества отрицательных элементов массива
Задан одномерный числовой массив. Постройте алгоритм и составьте программу нахождения количества...

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

В массиве A, содержащем 10 положительных и отрицательных целых чисел, вычислить сумму положительных элементов
2.В массиве A, содержащем 10 положительных и отрицательных целых чисел, вычислить сумму...

Найти произведение количества отрицательных элементов и количество положительных элементов массива
Прошу помощи. Задание: Задан одномерный, целочисленный массив A(n), (n&lt;=40).Найти произведение...


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

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

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