Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Katrina Swatch
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 21
#1

Дан массив A 6x4 посчитать количество положительных элементов

24.04.2013, 18:51. Просмотров 1672. Ответов 6
Метки нет (Все метки)

Дан массив A 6x4 посчитать количество положительных элементов. Полученный вектор записать в файл

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 18:51
Ответы с готовыми решениями:

Дан массив P(m), m=16. Определить количество положительных элементов KP, количество отрицательных элементов KM
Здравствуйте! Помогите решить задачу. Дан массив P(m), m=16. Определить...

Дан массив P(m), m<=20. Определить количество положительных элементов K и квадрат их суммы S2
Дан массив P(m), m&lt;=20. Определить количество положительных элементов K и...

Подсчитать количество положительных и количество отрицательных элементов массива X(20)
Составить блок схемы для следующих задач: 1) Подсчитать количество...

Посчитать количество элементов массива, равных 1
допустим есть массив a = как посчитать сколько элементов равно 1 Добавлено...

Вычислить сумму и количество положительных элементов
Для совокупности чисел (массива X): 0.01; -27.3; 0; 1.25; -371; 0.5; -0.1; 1.2;...

6
Katrina Swatch
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 21
24.04.2013, 19:13  [ТС] #2
Для каждой строки массива A 6x4 посчитать количество положительных элементов. Полученный вектор В записать в файл
0
Зосима
4920 / 3289 / 310
Регистрация: 02.04.2012
Сообщений: 6,204
Записей в блоге: 15
Завершенные тесты: 1
25.04.2013, 09:19 #3
Если мы считаем общее число положительных элементов, то получим не вектор а число и делается это так:
Matlab M
1
2
3
4
5
clear, clc
% случайная матрица
A = randint(6,4,[-10, 10])
% количество положительных элементов
N = sum( A(:)>0 )
Немного поясню: команда A( : ) вытягивает матрицу в вектор, это нужно для обработки всех элементов.
Дальше мы делаем сравнение этого вектора элементов с нулем.
Попробуй в командной строке ввеси:
a = [-1 -2 5 4 -3 -1]
А потом:
a > 0
Ты получишь
[0 0 1 1 0 0]
То есть где условие выполняется будет 1, а где нет - ноль! А теперь обрати внимание, что количество положительных элементов будет равно сумме всех этих единичек! вот поэтому у меня идет:
N = sum( A( : )>0 )
Кстати, если матрицу не вытягивать, а оставить как есть, то результат сравнения будет матрицей того же размера, в этом случае sum посчитает кол-во положительных элементов только по столбцам!

Добавлено через 3 минуты
Ах да, забыл в файл записать:
Matlab M
1
2
3
4
5
fid = fopen(out.txt,'w');
fprintf(fid,'Количество положительных элементов равно %d \n',N);
fclose(fid);
% отображаем записанный файл
type out.txt
0
Зосима
4920 / 3289 / 310
Регистрация: 02.04.2012
Сообщений: 6,204
Записей в блоге: 15
Завершенные тесты: 1
25.04.2013, 09:31 #4
Matlab M
1
2
3
4
5
6
7
8
9
clear, clc
% случайная матрица
A = randint(6,4,[-10, 10])
% количество положительных элементов в каждой строке
B = sum( A'>0 )
fid = fopen('out.txt','w');
fprintf(fid, ' Количество положительных элементов в каждой строке: \n %d %d %d %d %d %d \n',B)
fclose(fid);
type out.txt
А тут матрицу транспонируем, тогда сумма будет считаться по строкам!
0
Katrina Swatch
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 21
06.05.2013, 21:44  [ТС] #5
вот как решила я данную задачу, но записать полученный вектор В в файлв не получается, подскажите, как...

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
clear
clc
A=randn(6,4)
k=zeros(6,1);
for i=1:6
  for j=1:4
    if A(i,j)>0
       в(i)(i)+1;
    end
  end
end
в
0
Зосима
4920 / 3289 / 310
Регистрация: 02.04.2012
Сообщений: 6,204
Записей в блоге: 15
Завершенные тесты: 1
07.05.2013, 12:49 #6
Катюша, матлаб русские буквы не понимает
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear
clc
A = randn(6,4)
B = zeros(6,1);
for i=1:6
    for j=1:4
        if A(i,j)>0
            B(i)=B(i)+1;
        end
    end
end
B
 
% записываем в файл
dlmwrite('out.txt', B)
% отображаем содержимое файла
type out.txt
0
Katrina Swatch
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 21
07.05.2013, 14:12  [ТС] #7
Спасибо огромное, сейчас все идет)
Да это я тут только подредактировала и видимо русские буквы написала, так у меня просто вообще другая переменная по невнимательности была, вместо В я k писала)
0
07.05.2013, 14:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 14:12

Дан массив А размера N. Вывести те из его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10
В этой лабораторной работе элементы массива генерируются случайным образом....

Создать массив и рассчитать по каждому столбцу суммы положительных и отрицательных элементов
Добрый день! Все резервы знаний были подняты, но с задачкой справится так и не...

Сформировать массив путем деления положительных элементов заданной матрицы на число K
Дан двумерный массив. Сформировать одномерный массив путем деления...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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