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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.84
boliev
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 7
#1

Определите число ненулевых элементов в каждой строке матрицы. - C++

27.02.2012, 20:54. Просмотров 3333. Ответов 29
Метки нет (Все метки)

Дана матрица A(N, M). Определите число ненулевых элементов в каждой строке матрицы.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определите число ненулевых элементов в каждой строке матрицы. (C++):

Определить количество ненулевых элементов в каждой нечетной строке матрицы - C++
Определить количество ненулевых элементов в каждой нечетной строке матрицы G (4,4). Вывести количество ненулевых элементов и номера...

Найти суммы произведений ненулевых цифр элементов каждой строки матрицы - C++
Дана матрица А(n,n) Найти суммы произведений ненулевых цифр элементов каждой строки матрицы

Удалить из матрицы те строки, для которых количество ненулевых элементов больше количества нулевых элементов в строке - C++
помогите пожалуйста написать вот такую задачу: Дана целочисленная квадратная матрица порядка 5. Удалить из матрицы те строки, для которых...

Массивы. Определить количество элементов в каждой строке матрицы А, модуль которых равняется порядковому номеру элемента в строке - C++
дано матрицу А размером 4х5. определить количество элементов в каждой строке матрицы А, модуль которых равняется порядковому номеру...

Определите, есть ли среди элементов заданной матрицы число А - C++
3. Определите есть ли в данном двумерном массиве число А среди элементов массива.

В каждой строке матрицы найти количество элементов, меньших среднего арифметического элементов строки - C++
Дана матрица размера MxN. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
27.02.2012, 21:08 #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
#include <iostream>
using namespace std;
 
 
#define N 9
#define M 9
 
int searchRes(int *A)
{
    int S = 0;
    for (int i=0; i<M; ++i){
        A[i] ? ++S : 0;
    }
    return S;
}
 
void printA(int A[N][M])
{
    for (int i=0; i<N; ++i){
        for (int j=0; j<M; ++j)
            cout<<A[i][j]<<"\t";
        cout<<endl<<endl;
    }
}
 
int main() {
    int A[N][M];
 
    for (int i=0; i<N; ++i)
        for (int j=0; j<M; ++j)
            A[i][j] = rand()%-2;
 
    printA(A);
 
    cout<<"============\n";
 
 
    int S=0;
    for (int i=0; i<N; ++i)
        S+=searchRes(A[i]);
 
    cout<<"Res: "<< S;
 
 
    cin.ignore();
    return EXIT_SUCCESS;
}
2
boliev
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 7
27.02.2012, 21:16  [ТС] #3
спасибо вам большое))

Добавлено через 4 минуты
а с комментариями никак нельзя?))
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
27.02.2012, 21:16 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand(time(0));
    const int rows = 8, cols = 6;
    std::vector<std::vector <int> > vec(rows, std::vector <int> (cols, 0));
    std::for_each(vec.begin(), vec.end(), [] (std::vector <int> &tmp)
    {
        std::generate(tmp.begin(), tmp.end(), [] () { return rand()%15; });
        std::copy(tmp.begin(), tmp.end(), std::ostream_iterator <int> (std::cout, " "));
        std::cout<<"\nCount = "<<std::count_if(tmp.begin(), tmp.end(), [] (int num) { return num; })<<std::endl;
        return tmp;
    });
    system("pause");
    return 0;
}
0
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
27.02.2012, 21:25 #5
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 <iostream>
 
#define N 9  // наши N
#define M 9  // и M :)
using namespace std;           //пространство имен std 
 
int searchRes(int *A)          //поиск ненулевого 
{                              //элемента в одной строчке массива
    int S = 0;                 //В случае успеха
    for (int i=0; i<M; ++i){   //плюсуем S (+1)
        A[i] ? ++S : 0;
    }
    return S;                  //и в любом случае это возвращаем
}
 
void printA(int A[N][M]) /*вывод массива на консоль, думаю ясно*/
{
    for (int i=0; i<N; ++i){
        for (int j=0; j<M; ++j)
            cout<<A[i][j]<<"\t";
        cout<<endl<<endl;
    }
}
 
int main() {
    int A[N][M];                 //объявили массив А
 
    for (int i=0; i<N; ++i)      //заполнение
        for (int j=0; j<M; ++j)  //массива
            A[i][j] = rand()%-4; //не слишком "рандомными" числами, ну хоть что-то есть :)
 
    printA(A);                   //покажем массив
 
    cout<<"============\n";      //разделитель
 
 
    int S=0;                     //общее количество ненулевых элементов
    
    for (int i=0; i<N; ++i)      //Терь считаем в каждой строчке 
        S+=searchRes(A[i]);      //массива количество ненулевых элементов и 
                                 //добавляем результат к общей сумме
 
    cout<<"Res: "<< S;           //пишем результат :)
 
    cin.ignore();                //Держим экран.
    return EXIT_SUCCESS;         //Говорим ОС что все отлично, едем дальше.
}
1
boliev
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 7
27.02.2012, 21:26  [ТС] #6
спсибо большое!!))
0
Dekio
27.02.2012, 21:26
  #7

Не по теме:

Цитата Сообщение от ШКІПЕР Посмотреть сообщение
A[i] ? ++S : 0;
это понты чтоль?
C++
1
2
if(a[i])
  S++;

0
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
27.02.2012, 21:30 #8
Dekio, зря Вы так молодежь
18:14: error: lambda return type can only be deduced when the return statement is the only statement in the function body [-pedantic]


Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Dekio Посмотреть сообщение
это понты чтоль?
Нет. С чего Вы решили ? Как по мне - тривиально очевидная запись.

0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
27.02.2012, 21:30 #9
ШКІПЕР, не стану вас заставлять обновить компилятор, возьмем онлайн с поддержкой С++ 11

http://ideone.com/XoYtq
0
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
27.02.2012, 21:33 #10
Цитата Сообщение от Dekio Посмотреть сообщение
возьмем онлайн с поддержкой С++ 11
Взяли: http://liveworkspace.org/code/31a1b1...3343967be42831
0
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 658
27.02.2012, 21:39 #11
Dekio компилятор выдает:

1 IntelliSense: the body of a value-returning lambda with no explicit return type must be a single return statement c:\users\администратор\documents\visual studio 2010\projects\c++\console\p1615\no zero elements\no zero elements\no zero elements.cpp 14 2 No zero elements
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
27.02.2012, 21:40 #12
ШКІПЕР, старый вариант кода, считает нулевые элементы.
Я компилировал под MinGW, что на liveworkspace не знаю

Добавлено через 24 секунды
isaak, и правильно, компилятор обновите
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 21:41 #13
g++, полет нормальный.
1
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 658
27.02.2012, 21:42 #14
Dekio откуда и как?
0
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
27.02.2012, 21:44 #15
Цитата Сообщение от Dekio Посмотреть сообщение
компилировал под MinGW, что на liveworkspace не знаю
Это анекдот такой, да ? Ведь выше есть ссылка на тот самый liveworkspace с ошибкой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 21:44
Привет! Вот еще темы с ответами:

Сумма полож. элементов в каждой строке матрицы - C++
Доброго времени суток, уважаемые! Получил задачу, с которой мой гуманитарный мозг не сумел справиться... &quot;Если сумма полож. элементов в...

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

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

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


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

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

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