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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Объединение классов в таблицу http://www.cyberforum.ru/cpp-beginners/thread112068.html
здравствуйте! вот у меня есть классы и мне надо как то сделать так чтоб они были в одной таблице упорядоченной по имени агенства....как это сделать? и потом при возможности поместить все в файл? #include <conio.h> #include <iostream> #include <string.h> #include <stdio.h> #define S 40 #define DAY 7 using namespace std;
C++ стеки Разработать функцию, которая формирует стек Stack, включив в него по одному разу элементы, которые входят в стек Stack1, но не входят в стек Stack2. все работает,но во второй стек включаются элементы сколько бы раз они не встречались,а нужно строго по одному..плиз помогите если кто может=(( //mystack.h #pragma once #define MYSTACK_ESE 0x0000// возврат в случае пустоты стека ... http://www.cyberforum.ru/cpp-beginners/thread112061.html
одномерный массив С++.Проверьте C++
1)дан одномерный массив Х,состоящий из 20 целых чисел.Составить программу,которая подсчитывает сколько треугольников можно составить из этих чисел.Из трех чисел можно получить треугольник,если каждое из них меньше суммы двух других. #include <iostream.h> #include <stdlib.h> #include <time.h> void main() { const int N=20; int X,i; int Sym=0;
C++ ASCII код
Каким образом можно создать границы для будущей таблицы с помощью ASCII или напиример вставить в С типа "__________________"(соединеная линия,без пробелов)???????
C++ [DOS, Win32] текстовый интерфейс вроде Turbo Vision http://www.cyberforum.ru/cpp-beginners/thread112039.html
Скачал Turbo Vision (tv203s.zip) с http://sourceforge.net/projects/tvision/files и попытался скомпилировать под DJGPP GNU C++ 4.4.2 несколько экземплов из архива (как-то: terminal, desklogo и ещё некоторые). Первый пожаловался на следующее: The SSC code doesn't support as much as needed for it Остальные просто не запустились - компилятор многократно жаловался на undefined reference. Использую...
C++ предложение дано предложение. напечатать все его слова в порядке возрастания подробнее

Показать сообщение отдельно
2Bik
4 / 4 / 2
Регистрация: 14.12.2009
Сообщений: 17
03.04.2010, 01:39     Найти номер последнего столбца матрицы, содержащих равное количество положительных и отрицательных элементов
Если что-то не понятно - пиши...

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
                Дана целочисленная матрица размера M х N.
                Найти номер последнего из ее столбцов,
                содержащих равное количество положительных
                и отрицательных элементов
                (нулевые элементы матрицы не учитываются).
                Если таких столбцов нет, то вывести 0.
*/
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <conio.h>
#include <time.h>
 
int rand(int a, int b)
{
    return rand()%(b-a)+a;
}
 
int main ()
{
    
    int **matr;
    int n,m;
    int i,j;
    int positive = 0,   negative = 0;
    int temp=0;
    srand(time(0));         // Инициализируем генератор текущим временем.
    
 
    printf ( "Input size of your matrix.\n");
    printf ( "n-stroka m-stolbec\n");
    
    printf ( "n: ");
    scanf ("%i",&n);
    printf ( "m: ");
    scanf ("%i",&m);
 
    matr = (int**) malloc (n*sizeof (int*));
    for (i=0; i<n; i++)
        matr[i]=(int*) malloc (m*sizeof(int));
 
    printf ("Input matrix: \n");
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
        {
            //scanf ("%i",&matr[i][j]);         // выбираешь либо сам вводишь матрицу
            matr[i][j]=rand(-100,100);          // либо она заполняется случайными числами от -100 до 100
        }
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
        {
            printf ("%5i", matr [i][j]);
        }
        printf ("\n");
    }
 
    for (j=0; j<m; j++)
    {
        for (i=0; i<n; i++)
        {
            if (matr[i][j] > 0)
                positive++;
            else if (matr[i][j] < 0)
                negative ++;
        }
        if (positive == negative)
            temp = j;
        positive = 0;
        negative =0;
    }
 
    if (temp == 0)
    {
        printf ("Takogo stolbca net!!!\n");
    }
    else
    {
        printf ("Nomer stolbca: %i",temp+1);
        printf ("\n");
        for (i=0; i<n; i++)
            printf ("%i\n",matr[i][temp]);
    }
 
    printf ("\n\nPress any key to exit...");
    getch();  // для того чтоб программа не завершалась... VS2008
 
    return 0;
}
Добавлено через 30 минут
Чуть исправленная прога.

от меня:
[I]temp изначально равен именно -1, а не 0, потому что вся нумерация в массивах начинается с 0-ля, и если нас устраивает первый столбик, то в массиве он обозначатся array[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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
                Дана целочисленная матрица размера M х N.
                Найти номер последнего из ее столбцов,
                содержащих равное количество положительных
                и отрицательных элементов
                (нулевые элементы матрицы не учитываются).
                Если таких столбцов нет, то вывести 0.
*/
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <conio.h>
#include <time.h>
 
int rand(int a, int b)
{
    return rand()%(b-a)+a;
}
 
int main ()
{
    
    int **matr;
    int n,m;
    int i,j;
    int positive = 0,   negative = 0;
    int temp = -1;          // именно -1 а не 0
    srand(time(0));         // Инициализируем генератор текущим временем.
    
 
    
    system("cls");
    printf ( "Input size of your matrix.\n");
    printf ( "N-stroka M-stolbec\n");
    
    printf ( "N: ");
    scanf ("%i",&n);
    printf ( "M: ");
    scanf ("%i",&m);
 
    matr = (int**) malloc (n*sizeof (int*));
    for (i=0; i<n; i++)
        matr[i]=(int*) malloc (m*sizeof(int));
 
    printf ("Input matrix: \n");
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
        {
            //scanf ("%i",&matr[i][j]);         // выбираешь либо сам вводишь матрицу
            matr[i][j]=rand(-100,100);          // либо она заполняется случайными числами от -100 до 100
        }
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
        {
            printf ("%5i", matr [i][j]);
        }
        printf ("\n");
    }
 
    for (j=0; j<m; j++)
    {
        for (i=0; i<n; i++)
        {
            if (matr[i][j] > 0)
                positive++;
            else if (matr[i][j] < 0)
                negative ++;
        }
        if (positive == negative)
            temp = j;
        positive = 0;
        negative = 0;
    }
 
    if (temp == -1)
    {
        printf ("Takogo stolbca net!!!\n");
    }
    else
    {
        printf ("Nomer stolbca: %i",temp+1);
        printf ("\n");
        for (i=0; i<n; i++)
            printf ("%i\n",matr[i][temp]);
        temp = -1;
    }
 
    printf ("\n\nPress any key to EXIT...");     
    getch();       // для того чтоб программа не завершалась... VS2008
        
 
    
 
    return 0;
}
 
Текущее время: 05:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru