Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 25
1

Посчитать кол-во нужных элементов в массиве

28.08.2016, 18:49. Показов 4367. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчание!
Подскажите пожалуйста как посчитать кол-во нужных элементов в массиве
написал такую программу
Matlab M
1
2
3
4
5
6
7
8
9
10
11
clc;
a=0;
n=12;
m=4;
i=1:n;
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0];
f=c(i,2);
while f(i)==0;
   a=a+1;
end
disp(a);
Подскажите пожалуйста что не так
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2016, 18:49
Ответы с готовыми решениями:

Посчитать кол-во отрицательных и кол-во положительных элементов массива. Вывести массив на экран
Дан массив 5x5, заполнен случайными числами от -10 до 10. Посчитать кол-во отрицательных и кол-во...

Посчитать кол-во чисел в массиве
Сначала задаётся массив с числами, например: 15 1 1 1 2 3 5 5 7 8 8 4 3 3 3 3 Дальше задаётся...

Как узнать кол-во заполненных элементов в массиве, чья длина больше чем кол-во?
#include <iostream> using namespace std; int main() { char N; cin >> N; system("pause");...

Как посчитать кол-во уникальных записей в массиве
Есть массив по продажам, каждая строчка содержит № дока, клиент, Товар, Сумма На один документ...

11
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
28.08.2016, 19:46 2
Matlab M
1
length(find(c==0))
0
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 25
28.08.2016, 19:48  [ТС] 3
не понял. где написать
Matlab M
1
length(find(c==0))
Уважаемый Krasme, поясните пожалуйста.
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
28.08.2016, 19:51 4
full program...
Matlab M
1
2
3
clc;
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0]
length(find(c==0))
0
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 25
28.08.2016, 19:54  [ТС] 5
Matlab M
1
2
3
clc;
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0]
length(find(c==0))
так здесь считается во всём массиве, а мне нужно только в выбранном столбце
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
28.08.2016, 20:03 6
Лучший ответ Сообщение было отмечено Boroguss как решение

Решение

да хоть во всех сразу...
Matlab M
1
2
3
4
5
6
clc;
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0]
for i=1:4
    k(i) = length(find(c(:,i)==0));
end
disp(k)
1
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,371
28.08.2016, 20:03 7
Matlab M
1
2
3
clear,clc
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0];
a=sum(c(:,2)==0)
1
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 25
28.08.2016, 20:05  [ТС] 8
я же выбираю нужный столбец и индексирую его
Matlab M
1
2
3
i=1:n;
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0];
f=c(i,2);
потом хочу посмотреть где элементы равные нулю
Matlab M
1
2
3
4
while f(i)==0;
   a=a+1;
end
disp(a);
но к сожалению что-то делаю не верно
помогите мне пожалуйста.
0
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,371
28.08.2016, 20:07 9
Если требуется посчитать количество нужных элементов в каждом столбце, нужно в третьей строке написать
Matlab M
1
a=sum(c==0)
0
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 25
28.08.2016, 20:17  [ТС] 10
Krasme, Centurio спасибо!
заработало!
Плдскажите пожалуйста а как сделать чтобы считалось кол-во таких строчек где в первом столбце "1", а во втором столбце "0"

Добавлено через 5 минут
Спасибо сообразил
Matlab M
1
2
3
4
5
clear,clc
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0];
a=sum(c(:,1)==1 & c(:,2)==0);
disp(c);
disp(a);
0
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,371
28.08.2016, 20:23 11
Boroguss, я так понял, нужно посчитать в первом столбце количество элементов, равных 1, а во втором столбце - равных 0?
Matlab M
1
2
3
4
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0];
[m,n]=size(c);
b=repmat([1 0],m,1);
a=sum(c(:,1:2)==b)
Добавлено через 3 минуты
Ещё вариант:
Matlab M
1
2
c=[1 2 3 4;1 12 3 4;2 2 3 12;2 4 5 12;1 0 3 0;1 2 4 7;3 0 0 0;3 0 8 0;4 0 7 0;4 0 8 0;1 0 0 12;1 0 0 0];
a=[sum(c(:,1)==1) sum(c(:,2)==0)]
1
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 25
28.08.2016, 20:27  [ТС] 12
Centurio, спасибо!
0
28.08.2016, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2016, 20:27
Помогаю со студенческими работами здесь

Нахождение нужных элементов в массиве данных
Есть массив данных, содержащий числа, и знаки: ( ; ) Выглядит это примерно так: (1;235)(43;21)...

Посчитать кол-во элементов между
Добрый вечер мудрым людям! Не люблю VBA, она заставляет меня матерится. Нужна помощь с решением...

Посчитать кол-во элементов справочника с отбором
Имеется справочник "Сотрудники", необходимо посчитать количество сотрудников у которых...

Посчитать кол-во элементов между максимальным и минимальным значением элементов двумерного массива( подразумевается, что эти значения уже найдены)
Как посчитать? З.Ы. массив 5х2(если это важно...)

Как посчитать кол-во элементов в каждой строке
Дана матрица,элементы которой целые числа.Напишите программу,которая выводит на экран количество...

Сформировать два массива размерности 10, посчитать кол-во отрицательных элементов
Цель:Закрепить базовые алгоритмы работы с одномерными массивами(C++ Builder) Ввести с клавиатуры...


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

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