Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/37: Рейтинг темы: голосов - 37, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 7
1

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

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

Author24 — интернет-сервис помощи студентам
Дана матрица A(N, M). Определите число ненулевых элементов в каждой строке матрицы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2012, 20:54
Ответы с готовыми решениями:

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

В каждой строке матрицы А(N,N) определите наибольшее простое число
1) В каждой строке матрицы А(N,N) определите наибольшее простое число. Если в строке нет простых...

Определите сумму положительных элементов в каждой строке матрицы и упорядочить номера строк по возрастанию
Помогите пожалуйста) Дана прямоугольная матрица размером n x m, содержащая целые числа.Определите...

Если число нечетных элементов в каждой строке матрицы не больше 2, то найти сумму четных элементов матрицы больших 5
матрица размерности m x n, вводиться пользователем из текстового файла. если число нечетных...

29
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
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
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 7
27.02.2012, 21:16  [ТС] 3
спасибо вам большое))

Добавлено через 4 минуты
а с комментариями никак нельзя?))
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 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
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
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
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
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
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
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
27.02.2012, 21:30 9
ШКІПЕР, не стану вас заставлять обновить компилятор, возьмем онлайн с поддержкой С++ 11

http://ideone.com/XoYtq
0
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
27.02.2012, 21:33 10
Цитата Сообщение от Dekio Посмотреть сообщение
возьмем онлайн с поддержкой С++ 11
Взяли: http://liveworkspace.org/code/... 967be42831
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
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
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
27.02.2012, 21:40 12
ШКІПЕР, старый вариант кода, считает нулевые элементы.
Я компилировал под MinGW, что на liveworkspace не знаю

Добавлено через 24 секунды
isaak, и правильно, компилятор обновите
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 21:41 13
g++, полет нормальный.
1
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
27.02.2012, 21:42 14
Dekio откуда и как?
0
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
27.02.2012, 21:44 15
Цитата Сообщение от Dekio Посмотреть сообщение
компилировал под MinGW, что на liveworkspace не знаю
Это анекдот такой, да ? Ведь выше есть ссылка на тот самый liveworkspace с ошибкой.
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
27.02.2012, 21:45 16
Сборки MinGW(GCC-win32/win64) от niXman

Добавлено через 1 минуту
Цитата Сообщение от ШКІПЕР Посмотреть сообщение
Это анекдот такой, да ?
Ваш код сплошной анекдот, да?

Мой код работает и так как надо, ещё вопросы?
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
27.02.2012, 21:45 17
А на visual studio 2010 подойдет?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 21:48 18
Вот так на lws компилится
http://liveworkspace.org/code/... 0a8af9962d
1
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
27.02.2012, 21:53 19
Цитата Сообщение от Dekio Посмотреть сообщение
Ваш код сплошной анекдот, да?
Это вопрос ? Вы против ?

Цитата Сообщение от Dekio Посмотреть сообщение
Мой код работает и так как надо, ещё вопросы?
1. Работает только у Вас и еще в некоторых местах.
2. При этом падает на компиляторе, явно заточеным под Ваш код.
3. Это раздел, если не ошибаюсь, называется "Форум С/С++ для начинающих", так что еще нужно поразмышлять, где понты.
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
27.02.2012, 21:57 20
Цитата Сообщение от ШКІПЕР Посмотреть сообщение
1. Работает только у Вас и еще в некоторых местах.
Написан по стандарту языка.

Цитата Сообщение от ШКІПЕР Посмотреть сообщение
При этом падает на компиляторе, явно заточеным под Ваш код.
Доказательства? Пустые слова. Тип возвращаемого значения может быть указан явно, а может не быть. Читаем, ещё раз, стандарт

Цитата Сообщение от ШКІПЕР Посмотреть сообщение
3. Это раздел, если не ошибаюсь, называется "Форум С/С++ для начинающих", так что еще нужно поразмышлять, где понты.
Решение простое и небольшое по размеру. Многим полезно подумать как работает STL и многие хотят видеть реальный STL, а не ваши 7 циклов, где 1 хватит. Добавьте себе ещё 3 и будет 10. Советую не забыть также добавить штук 5 лишних скобок, ведь новичек для новичка пишет..
0
27.02.2012, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2012, 21:57
Помогаю со студенческими работами здесь

Число элементов равных 0 в каждой строке матрицы
срочно!!!! пожалуйста помогите найти ошибку в программе! задание: в квадратной матрице целых чисел...

Определить число элементов равных 1 в каждой строке матрицы
Здравствуйте, помогите пожалуйста с задачей В квадратной матрице размером Т*Т, имеющей имя МКА,...

Найти число положительных элементов в каждой строке матрицы
Задана квадратная матрица A размером NxN (N&lt;=10), состоящая из целых чисел. Найти, сколько...

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

Найти количество элементов в каждой строке матрицы, больших среднего арифметического элементов в каждой строке
(усл. задачи: Дан двумерный массив. Найти количество элементов в каждой строке, больших среднего...

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


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru