Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Teodarm
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 20
1

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

08.12.2015, 19:08. Просмотров 1061. Ответов 9
Метки нет (Все метки)

Дан массив P(m), m<=20. Определить количество положительных элементов K и квадрат их суммы S2. Вывести на печать исходный массив и величины K и S2.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2015, 19:08
Ответы с готовыми решениями:

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

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

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

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

Дан одномерный массив действительных чисел. Определить количество положительных, отрицательных и нулевых элементов
Реализовать следующую задачу с использованием статических и динамических...

9
Norwall
173 / 139 / 50
Регистрация: 07.02.2014
Сообщений: 447
08.12.2015, 21:40 2
Teodarm, читайте форум, много раз уже подобное решалось!
0
murzik07
49 / 44 / 19
Регистрация: 05.04.2015
Сообщений: 217
09.12.2015, 10:29 3
можно как то так
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
P = [1 5 -6 8 -9 7 5 8 6 3 24 -8 0 1 -5 8 12 -89];
x = find(P >= 0);
K = length(x); 
S2 = bsxfun(@power, sum(P(x)), 2);
variables = {'Исходный массив'};
sx = ['' sprintf('%s', variables{:}) sprintf('\n')]; 
sx = [sx sprintf('  %2.2f \n', P)];
variables = {'Количество элементов'};
sr = ['' sprintf('%s', variables{:}) sprintf('\n')]; 
sr = [sr sprintf('  %2d \n', length(P))];
variables = {'Количество положительных элементов'};
sw = ['' sprintf('%s', variables{:}) sprintf('\n')]; 
sw = [sw sprintf('  %2d \n', K)];
variables = {'Квадрат суммы положительных элементов'};
sq = ['' sprintf('%s', variables{:}) sprintf('\n')]; 
sq = [sq sprintf('  %2d \n', S2)];
fid = fopen('forum.txt', 'wt'); 
fprintf(fid, '%s', sx); 
fprintf(fid, '%s', sr);
fprintf(fid, '%s', sw); 
fprintf(fid, '%s', sq); 
fclose(fid);
1
Teodarm
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 20
09.12.2015, 11:45  [ТС] 4
murzik07, Спасибо, может сможешь мне еще помочь?
Я сделал ввод массива через input
Matlab M
1
P =input('введите значения P:  ')
Собственно, нужно чтоб массив P имел не больше 20 значений, как по условию P(m), где m<=20?
0
bobah16
370 / 340 / 42
Регистрация: 14.07.2015
Сообщений: 2,882
09.12.2015, 11:54 5
Matlab M
1
P =input('введите значения P(не больше 20ти значений):  ')
0
Teodarm
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 20
09.12.2015, 12:01  [ТС] 6
bobah16, а по другому никак?
0
murzik07
49 / 44 / 19
Регистрация: 05.04.2015
Сообщений: 217
09.12.2015, 12:04 7
значения вводить в квадратных скобках - например, [1 2 5 -3 4]

Добавлено через 2 минуты
если у тебя конкретные значения - то или вручную вводить, или создать текстовый файл и оттуда читать.
если подходят любые значения, то можно использовать rand
Matlab M
1
2
n = input('введите количество элементов массива:  ');
P = rand(n, 1);
0
Teodarm
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 20
09.12.2015, 12:12  [ТС] 8
murzik07, Суть то в том, что я буду вводить какие-либо элементы в массив, случайное кол-во и случайные значения, но я это должен сделать в ручную, и при этом размер массива не может превышать 20 значений, собственно в этом и вопрос, как ограничить массив? чтоб можно было ввести от 1 до 20 элементов(что бы если ввести больше 20 значений то вылетало сообщение что так нельзя)?
0
bobah16
370 / 340 / 42
Регистрация: 14.07.2015
Сообщений: 2,882
09.12.2015, 12:23 9
Teodarm, не вводить больше 20 значений не вариант? Если не вариант, тогда используйте ф-цию size, если хоть одна размерность больше 20, тогда сообщение, что так нельзя..
0
murzik07
49 / 44 / 19
Регистрация: 05.04.2015
Сообщений: 217
09.12.2015, 12:23 10
Лучший ответ Сообщение было отмечено Teodarm как решение

Решение

можно так

Matlab M
1
2
3
4
5
6
7
8
P = input('введите значения P(не больше 20ти значений):  ');
disp('Количество элементов равно')
disp(length(P)) % отобразить количество элементов
if length(P) > 20 
    disp('Количество элементов больше 20')
    disp('Введите меньшее количество элементов!')
    break
end
либо вместо disp использовать error
Matlab M
1
2
3
4
5
6
7
P = input('введите значения P(не больше 20ти значений):  ');
disp('Количество элементов равно')
disp(length(P)) % отобразить количество элементов
if length(P) > 20 
    disp('Количество элементов больше 20')
    error('Введите меньшее количество элементов!')
end
1
09.12.2015, 12:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2015, 12:23

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

Дан массив целых чисел A. Найти суммы положительных и отрицательных элементов массива
Дан массив целых чисел A. Найти суммы положительных и отрицательных элементов...

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


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

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

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