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

Найти колличество столбцов в которых есть числа с разными знаками - C++

Восстановить пароль Регистрация
 
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 00:59     Найти колличество столбцов в которых есть числа с разными знаками #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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int **a, i, j, m, n, count, s = -1; bool b = false;
    cout<<"Vv. kol-vo strok = "; cin>>m;
    cout<<"\nVv. kol-vo stolbc. = "; cin>>n;
    a = new int *[m];
    for(i = 0; i<m; i++){
        a[i] = new int [n];
        }
    for(i = 0; i<m; i++){
        for(j = 0; j<n; j++){
            cout<<"a["<<i+1<<", "<<j+1<<"] = "; cin>>a[i][j];
            }
        }
    for(i = 0; i<m; i++, cout<<"\n"){
        for(j = 0; j<n; j++, cout<<"\t"){
            cout<<a[i][j];
            }
        }
    for(j = 0; j<n; j++){
        if(a[0][j]>0){
        for(i = 0; i<m; i++){
            if(a[i][j]<0) {
                b = true;
                break ;
            }
            }
        }
        else {
        for(i = 0; i<m; i++){
            if(a[i][j]>0) {
                b = true;
                break ;
            }
            }
        }
        if(b) count++;
        }
    cout<<"\nV massive "<<count<<" stobcov s razn. znakami.";
    
    system("pause");
    return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2013, 00:59     Найти колличество столбцов в которых есть числа с разными знаками
Посмотрите здесь:

C++ [C++] Определить колличество столбцов, не содержащих ни одного нулевого элемента.
C++ Дан двухмерный массив размерностью 3X4. Необходимо найти колличество элементов значение которых равно нулю
C++ Циклы.Найти все натуральные числа не превосходящие заданного n, десятичная запись которых есть строго убывающая последовательность цифр
C++ Найти колличество столбцов матрицы, в которых все элементы одинаковы
Найти сумму положительных элементов столбцов в которых есть нулевой элемент C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.12.2013, 07:30     Найти колличество столбцов в которых есть числа с разными знаками #2
Цитата Сообщение от Relike Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for(j = 0; j<n; j++){
 if(a[0][j]>0){
 for(i = 0; i<m; i++){
 if(a[i][j]<0) {
 b = true;
 break ;
 }
 }
 }
 else {
 for(i = 0; i<m; i++){
 if(a[i][j]>0) {
 b = true;
 break ;
 }
 }
 }
 if(b) count++;
 }
замените на:
C++
1
2
3
4
5
6
7
8
9
10
11
12
 int l1,l2;
     for(j = 0; j<n; j++){
         i1=0; l2=0; 
        for(i = 0; i<m; i++){
            if(a[i][j]<0) 
                l1++;
            if(a[i][j]>0)
                l2++;
        }
        if(l1>0 && l2>0)
            count++;
     }
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 22:39  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #3
valeriikozlov,
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 <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int **a, i, j, m, n, count, s = -1; bool b = false;
    cout<<"Vv. kol-vo strok = "; cin>>m;
    cout<<"\nVv. kol-vo stolbc. = "; cin>>n;
    a = new int *[m];
    for(i = 0; i<m; i++){
        a[i] = new int [n];
        }
    for(i = 0; i<m; i++){
        for(j = 0; j<n; j++){
            cout<<"a["<<i+1<<", "<<j+1<<"] = "; cin>>a[i][j];
            }
        }
    for(i = 0; i<m; i++, cout<<"\n"){
        for(j = 0; j<n; j++, cout<<"\t"){
            cout<<a[i][j];
            }
        }
        
    int l1,l2;
     for(j = 0; j<n; j++){
         l1=0; l2=0; 
        for(i = 0; i<m; i++){
            if(a[i][j]<0) 
                l1++;
            if(a[i][j]>0)
                l2++;
        }
        if(l1>0 && l2>0)
            count++;
     }
    cout<<"\nV massive "<<count<<" stobcov s razn. znakami.";
    
    system("pause");
    return EXIT_SUCCESS;
}
не работает...блин

Добавлено через 2 минуты
valeriikozlov, Амсори, всё работает, начального значения count небыло. Спасибо большое!!

Добавлено через 16 минут
valeriikozlov, Сейчас пререпроверил, не правильно работает... Не понятно как считает столбцы...
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    //Целые : массив, переменные циклов, размерности и счетчик.
    int **a, i, j, m, n, count=0;
    cout<<"Vv. kol-vo strok = "; cin>>m;
    cout<<"\nVv. kol-vo stolbc. = "; cin>>n;
    a = new int *[m];
    for(i = 0; i<m; i++){
        a[i] = new int [n];
        }
    //заполнение массива
    for(i = 0; i<m; i++){
        for(j = 0; j<n; j++){
            cout<<"a["<<i+1<<", "<<j+1<<"] = "; cin>>a[i][j];
            }
        }
    //вывод массива на экран в виде матрицы.
    for(i = 0; i<m; i++, cout<<"\n"){
        for(j = 0; j<n; j++, cout<<"\t"){
            cout<<a[i][j];
            
            }
        }
    //Объявление двух переменных 
    int l1=0,l2=0;
     for(j = 0; j<n; j++){
        for(i = 0; i<m; i++){
            if(a[i][j]<0) 
                l1++;
            if(a[i][j]>0)
                l2++;
        }
        if(l1>0 && l2>0)
            count++;
     }
    cout<<"\nV massive "<<count<<" stobcov s razn. znakami.";
    
    system("pause");
    return EXIT_SUCCESS;
}
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
24.12.2013, 22:53     Найти колличество столбцов в которых есть числа с разными знаками #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main()
{
    const int n = 10, m = 20;
    int a[n][m], res = 0;
    
    for (int col = 0; col < m; ++col) 
        res += std::any_of(std::begin(a), std::end(a), 
                [&col](const int a[]){ return a[col] < 0; })
            && std::any_of(std::begin(a), std::end(a), 
                [&col](const int a[]){ return a[col] > 0; });
    
    std::cout << res << std::endl;
 
    return EXIT_SUCCESS;
}
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 23:01  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #5
outoftime, как понять синтаксис???
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
24.12.2013, 23:04     Найти колличество столбцов в которых есть числа с разными знаками #6
Так наглядней
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <iterator>
#include <algorithm>
#include <iomanip>
 
int main()
{
    const int n = 10, m = 5;
    int a[n][m], res = 0;
    
    for (int i = 0; i < n; ++i, std::cout << std::endl)
        for (int j = 0; j < m; std::cout << std::setw(10) << a[i][j++] << " ");
    
    for (int col = 0; col < m; ++col) 
        res += std::any_of(std::begin(a), std::end(a), 
                [&col](const int a[]){ return a[col] < 0; })
            && std::any_of(std::begin(a), std::end(a), 
                [&col](const int a[]){ return a[col] > 0; });
    
    std::cout << res << std::endl;
 
    return EXIT_SUCCESS;
}
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 23:05  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #7
outoftime, блин, нас не так учили писать....мы с
C++
1
using namespace std
пишем....многого тут я просто не понимаю(
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
24.12.2013, 23:09     Найти колличество столбцов в которых есть числа с разными знаками #8
http://lmgtfy.com/?q=c%2B%2B+std%3A%3Abegin
http://lmgtfy.com/?q=c%2B%2B+std%3A%3Aend
http://lmgtfy.com/?q=c%2B%2B+std%3A%3Aany_of
http://lmgtfy.com/?q=c%2B%2B+%D0%BB%...B1%D0%B4%D0%B0
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 23:11  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #9
outoftime, оригинальный вариант фразы - "Гугл в помощь")))
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
24.12.2013, 23:15     Найти колличество столбцов в которых есть числа с разными знаками #10
Пространство имен, что и зачем:
http://ru.wikipedia.org/wiki/%D0%9F%...BD%D0%B8%D0%B5)
http://msdn.microsoft.com/ru-ru/library/5cb46ksf.aspx

Добавлено через 2 минуты
std::any_of http://en.cppreference.com/w/cpp/alg...ll_any_none_of тут вся информация которая тебе надо, если прочтешь вопросы сами отпадут
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 23:16  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #11
outoftime, не, std:: я понял что такое. А вот например
Цитата Сообщение от outoftime Посмотреть сообщение
any_of
,
Цитата Сообщение от outoftime Посмотреть сообщение
setw(10)
,
Цитата Сообщение от outoftime Посмотреть сообщение
begin(a)
- нет. Ну ладно, спасибо, разбираться сейчас буду!

Добавлено через 48 секунд
outoftime, Проблема, агнлийского не знаю. Parle le francais)))
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
24.12.2013, 23:27     Найти колличество столбцов в которых есть числа с разными знаками #12
Relike, это не художественная литература, автоматический перевод вполне терпимый, только в некоторых местах могут быть ляпы.

Добавлено через 8 минут
std::setw: применяется для форматирования вывода, туда же относиться setfill, setprecision, setbase (это те что чаще всего используются)
http://www.cplusplus.com/reference/iomanip/
http://en.cppreference.com/w/cpp/header/iomanip

std::begin, std::end: возвращают итераторы на начало и конец соответственно.
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
24.12.2013, 23:57  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #13
Я нашел ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
int l1=0,l2=0;
     for(j = 0; j<n; j++){
        for(i = 0; i<m; i++){
            if(a[i][j]<0) 
                l1++;
            if(a[i][j]>0)
                l2++;
        }
        if(l1>0 && l2>0) 
            count++;
     }
l1 и l2 не обнуляются. count всегда увеличивается в силу выполнения условия.
Всем спасибо за помощь!!!!
Вот код, может пригодится кому в будущем :
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    //Öåëûå : Г¬Г*Г±Г±ГЁГў, ïåðåìåГ*Г*ûå öèêëîâ, Г°Г*çìåðГ*îñòè ГЁ Г±Г·ГҐГІГ·ГЁГЄ.
    int **a, i, j, m, n, count=0;
    cout<<"Vv. kol-vo strok = "; cin>>m;
    cout<<"\nVv. kol-vo stolbc. = "; cin>>n;
    a = new int *[m];
    for(i = 0; i<m; i++){
        a[i] = new int [n];
        }
    //Г§Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ*
    for(i = 0; i<m; i++){
        for(j = 0; j<n; j++){
            cout<<"a["<<i+1<<", "<<j+1<<"] = "; cin>>a[i][j];
            }
        }
    //âûâîä Г¬Г*Г±Г±ГЁГўГ* Г*Г* ГЅГЄГ°Г*Г* Гў âèäå Г¬Г*òðèöû.
    for(i = 0; i<m; i++, cout<<"\n"){
        for(j = 0; j<n; j++, cout<<"\t"){
            cout<<a[i][j];
            
            }
        }
    //ÎáúÿâëåГ*ГЁГҐ äâóõ ïåðåìåГ*Г*ûõ 
    int l1=0,l2=0;
     for(j = 0; j<n; j++){
        for(i = 0; i<m; i++){
            if(a[i][j]<0) 
                l1++;
            if(a[i][j]>0)
                l2++;
        }
        if(l1>0 && l2>0) {
            count++;
            l1 = 0; l2 = 0;
        }
     }
    cout<<"\nV massive "<<count<<" stobcov s razn. znakami.\n";
    
    system("pause");
    return EXIT_SUCCESS;
}
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
25.12.2013, 00:21     Найти колличество столбцов в которых есть числа с разными знаками #14
Relike, т.е. мой вообще не годится? (:
Relike
 Аватар для Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
25.12.2013, 00:27  [ТС]     Найти колличество столбцов в которых есть числа с разными знаками #15
outoftime, почему? Он намного меньше, и удобнее. Если знать. Нас просто вот так учили...что поделать. Всё равно спасибо и к вам относится, буду изучать после сессии то что вы скинули =)

Добавлено через 3 минуты
outoftime, во надо новую тему создавать...вы не знаете как перейти от алгебраической формы комплексного числа к показательной? В программе с++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 01:10     Найти колличество столбцов в которых есть числа с разными знаками
Еще ссылки по теме:

Сформировать массив К из номеров столбцов матрицы, в которых есть хотя бы один ноль C++
Определить число соседних двух элементов с разными знаками C++
C++ Вывести строки, в которых есть двузначные числа

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

Или воспользуйтесь поиском по форуму:
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
25.12.2013, 01:10     Найти колличество столбцов в которых есть числа с разными знаками #16
Relike, http://ru.wikipedia.org/wiki/%D0%9A%...81.D0.B5.D0.BB
Можешь еще поискать библиотеки, которые работают с комплексными числами и подсмотреть реализацию.
Yandex
Объявления
25.12.2013, 01:10     Найти колличество столбцов в которых есть числа с разными знаками
Ответ Создать тему
Опции темы

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