0 / 0 / 0 Регистрация: 16.10.2016 Сообщений: 21 |
|
1 |
|
Одномерный массив. Подсчитать количество положительных элементов09.01.2017, 16:18. Показов 11473. Ответов 13
Дан одномерный массив A[1..N], содержащий целые числа. Подсчитать количество положительных элементов. Можно пожалуйста с объяснением.
0 |
UseMuse 155 / 144 / 58 Регистрация: 11.01.2016 Сообщений: 1,247 |
||||
09.01.2017, 16:30 |
2 |
|||
Pandro,
0 |
Pikemaster 309 / 309 / 215 Регистрация: 24.09.2013 Сообщений: 771 |
||||||||
09.01.2017, 16:32 |
3 |
|||||||
Сообщение было отмечено Pandro как решение РешениеPandro,
Добавлено через 1 минуту
препод оценит)
0 |
155 / 144 / 58 Регистрация: 11.01.2016 Сообщений: 1,247 |
|
09.01.2017, 16:33 |
4 |
Pikemaster, вроде бы сумма не нужна
0 |
309 / 309 / 215 Регистрация: 24.09.2013 Сообщений: 771 |
|
09.01.2017, 16:35 |
5 |
UseMuse, там положительные элементы суммирует, прост назвал так (немного криво) Добавлено через 37 секунд Добавлено через 26 секунд
0 |
155 / 144 / 58 Регистрация: 11.01.2016 Сообщений: 1,247 |
|
09.01.2017, 16:35 |
6 |
Pikemaster, зачем значения положительных элементов суммировать?) если в задании написано
Подсчитать количество положительных элементов
0 |
aquaMakc 484 / 397 / 68 Регистрация: 14.02.2014 Сообщений: 1,930 |
||||
09.01.2017, 16:56 |
7 |
|||
0 |
UseMuse 155 / 144 / 58 Регистрация: 11.01.2016 Сообщений: 1,247 |
||||
09.01.2017, 17:20 |
8 |
|||
aquaMakc, пффф, как-то длинновато
0 |
0 / 0 / 0 Регистрация: 16.10.2016 Сообщений: 21 |
|
09.01.2017, 19:52 [ТС] |
9 |
Нет, надо чтобы массив был рандомный.
0 |
Diamante 3458 / 2465 / 1170 Регистрация: 14.08.2016 Сообщений: 8,160 |
||||
09.01.2017, 20:12 |
10 |
|||
0 |
Pandro 0 / 0 / 0 Регистрация: 16.10.2016 Сообщений: 21 |
||||
09.01.2017, 20:41 [ТС] |
11 |
|||
А как его вывести на экран, чтобы там всё было понятно? Преподаватель требует, не пойму как всё грамотно сделать.
0 |
309 / 309 / 215 Регистрация: 24.09.2013 Сообщений: 771 |
|
09.01.2017, 21:48 |
12 |
Pandro, чтобы всё понятно, ручной ввод, аккуратный вывод и чтоб препод не доколебался — забудь про linq и используй варианты выше. Рано тебе еще linq видеть, а люди больше для себя (и ради «смотри как я могу») твоё задание пишут под linq, а не для препода твоего, а ты видешь код короче и думаешь «круто, всего лишь 2 строчки понять нужно», несмотря на то, что они не выполняют многие функции так как ты хочешь.
А как его вывести на экран, чтобы там всё было понятно? Преподаватель требует, не пойму как всё грамотно сделать. Сейчас начнешь пытаться разворачивать это решение и придёшь к тому, что тебе уже написали.
0 |
aquaMakc 484 / 397 / 68 Регистрация: 14.02.2014 Сообщений: 1,930 |
||||
10.01.2017, 09:02 |
13 |
|||
UseMuse, вы хочите магию? Их есть у меня:
а люди больше для себя (и ради «смотри как я могу») твоё задание пишут под linq, а не для препода твоего Если честно, лично у меня нет никакого желания за автора решать элементарную задачу, которые мы самостоятельно делали на уроках информатики в школе в дремучих 90-х, когда ни книг, ни интернета не было. Причём на этом форуме из 10 тем 8-9 будут именно такими. Вот и начинается «угар» с решением задания для 6 класса средней школы методами madskilzzz.
0 |
309 / 309 / 215 Регистрация: 24.09.2013 Сообщений: 771 |
|
10.01.2017, 10:23 |
14 |
Если честно, лично у меня нет никакого желания за автора решать элементарную задачу Я понимаю такой подход и не считаю его плохим)
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
10.01.2017, 10:23 |
14 |
Количество положительных, отрицательных и равных нулю элементов массива
Просмотров 11к. Обновлено 15 октября 2021
Сгенерировать 20 случайных целых чисел в диапазоне от -5 до 4, записать их в ячейки массива. Посчитать сколько среди них положительных, отрицательных и нулевых значений. Вывести на экран элементы массива и посчитанные количества.
- Присвоить счетчикам положительных, отрицательных и нулевых чисел значения 0.
- В цикле
- генерировать случайное число и записывать его в соответствующую ячейку массива,
- выводить на экран,
- сравнивать с нулем и в зависимости от результата увеличить на 1 либо счетчик пложительных чисел, либо отрицательных, либо нулевых.
- Вывести на экран значения счетчиков.
Pascal
количество положительных элементов массива паскаль
const N = 20;
var
a: array[1..N] of integer;
i, pos, neg, zero: byte;
begin
randomize;
pos := 0;
neg := 0;
zero := 0;
for i:=1 to N do begin
a[i] := random(10)-5;
write(a[i]:3);
if a[i] < 0 then
neg := neg + 1
else
if a[i] > 0 then
pos := pos + 1
else
zero := zero + 1;
end;
writeln;
writeln('Положительных: ', pos);
writeln('Отрицательных: ', neg);
writeln('Равных нулю: ', zero);
end.
0 0 -4 -2 4 0 2 -4 3 0 0 -4 2 2 0 -3 -3 3 -3 -4
Положительных: 6
Отрицательных: 8
Равных нулю: 6
Язык Си
#include
#define N 20main() {
srand(time(NULL));
int a[N],i,neg,pos,zero;
neg = 0;
pos = 0;
zero = 0;
for (i=0; i< N; i++) {
a[i] = rand() % 10 - 5;
printf("%3d", a[i]);
if (a[i] > 0) pos += 1;
else if (a[i] < 0) neg += 1;
else zero += 1;
}
printf("nПоложительных: %dn", pos);
printf("Отрицательных: %dn", neg);
printf("Равных нулю: %dn", zero);
}
-5 -4 0 -3 1 3 -2 -4 4 -4 2 -5 -1 -4 -3 -1 -4 -5 1 3
Положительных: 6
Отрицательных: 13
Равных нулю: 1
Python
количество положительных элементов массива python (питон)
from random import random
neg = pos = zero = 0
a = []
for i in range(20):
n = int(random() * 10) - 5
a.append(n)
print(n, end=' ')
if n > 0:
pos += 1
elif n < 0:
neg += 1
else:
zero += 1print("nПоложительных: ", pos)
print("Отрицательных: ", neg)
print("Равных нулю: ", zero)
-4 3 -4 3 -2 3 4 -2 -4 3 -4 -3 0 1 4 -2 2 0 -3 -4
Положительных: 8
Отрицательных: 10
Равных нулю: 2
КуМир
алг положительные элементы
нач
цел N = 20
цел таб a[1:N]
цел pos=0, neg=0, zero=0,i
нц для i от 1 до N
a[i] := int(rand(0,10))-5
вывод a[i], " "
если a[i] > 0 то pos := pos + 1
иначе
если a[i] < 0 то neg := neg + 1
иначе zero := zero + 1
все
все
кц
вывод нс, "Положительных: ", pos
вывод нс, "Отрицательных: ", neg
вывод нс, "Равных нулю: ", zero
кон
Basic-256
N = 20
dim a(N)
pos = 0
neg = 0
zero = 0
for i=0 to N-1
a[i] = int(rand()*10) - 5 # от 4 до -5
print a[i]+ " ";
if a[i] < 0 then
neg = neg + 1
else
if a[i] > 0 then
pos = pos+1
else
zero = zero + 1
endif
endif
next i
print "Positive: " + pos
print "Negative: " + neg
print "Zero: " + zero
3 4 2 1 3 -4 0 0 -1 4 4 -1 2 -5 -4 -3 3 2 4 -3
Positive: 11
Negative: 7
Zero: 2
Задачи:
- Подсчитать количество и сумму всех положительных чисел массива, а также элементов кратных 3.
- Подсчитать количество и сумму всех отрицательных чисел массива, а также элементов кратных 3.
- Предусмотреть ввод чисел с клавиатуры (через форму).
- Предусмотреть конец последовательности — число 0. Т.е. числа в массиве, идущие после 0, должны игнорироваться.
Поиск положительных элементов с FOREACH
Поиск положительных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
foreach($arr as $v)
{
if($v > 0)
$values[] = $v;
}
var_dump($values);
Вычисление суммы положительных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
foreach($arr as $v)
{
if($v > 0)
$sum += $v;
}
var_dump($sum);
Поиск положительных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
foreach($arr as $v)
{
if($v > 0 and $v % 3 == 0)
$values[] = $v;
}
var_dump($values);
Вычисление суммы положительных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
foreach($arr as $v)
{
if($v > 0 and $v % 3 == 0)
$sum += $v;
}
var_dump($sum);
Поиск отрицательных элементов с FOREACH
Поиск отрицательных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
foreach($arr as $v)
{
if($v < 0)
$values[] = $v;
}
var_dump($values);
Вычисление суммы отрицательных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
foreach($arr as $v)
{
if($v < 0)
$sum += $v;
}
var_dump($sum);
Поиск отрицательных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
foreach($arr as $v)
{
if($v < 0 and $v % 3 == 0)
$values[] = $v;
}
var_dump($values);
Вычисление суммы отрицательных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
foreach($arr as $v)
{
if($v < 0 and $v % 3 == 0)
$sum += $v;
}
var_dump($sum);
Поиск положительных элементов с FOR
Поиск положительных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] > 0)
$values[] = $arr[$i];
}
var_dump($values);
Вычисление суммы положительных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] > 0)
$sum += $arr[$i];
}
var_dump($sum);
Поиск положительных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] > 0 and $arr[$i] % 3 == 0)
$values[] = $arr[$i];
}
var_dump($values);
Вычисление суммы положительных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] > 0 and $arr[$i] % 3 == 0)
$sum += $arr[$i];
}
var_dump($sum);
Поиск отрицательных элементов с FOR
Поиск отрицательных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] < 0)
$values[] = $arr[$i];
}
var_dump($values);
Вычисление суммы отрицательных элементов:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] < 0)
$sum += $arr[$i];
}
var_dump($sum);
Поиск отрицательных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] < 0 and $arr[$i] % 3 == 0)
$values[] = $arr[$i];
}
var_dump($values);
Вычисление суммы отрицательных элементов, кратных 3:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$sum = 0;
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] < 0 and $arr[$i] % 3 == 0)
$sum += $arr[$i];
}
var_dump($sum);
Поиск элементов с WHILE
Поиск чисел с while аналогичен поиску с for, только эта строчка:
for($i = 0; $i < count($arr); $i++)
Заменяется на эти:
$i = -1;
while(++$i < count($arr))
Пример для поиска положительных чисел:
<?php
$arr = [2, 4, -4, 12, -3, 1];
$values = [];
$i = -1;
while(++$i < count($arr))
{
if($arr[$i] > 0)
$values[] = $arr[$i];
}
var_dump($values);
Ввод чисел через форму
Простая форма, отправляемая методом GET, с PHP обработчиком:
<?php
if(isset($_GET['nums']))
{
$arr = explode(' ', $_GET['nums']);
}
?>
<form>
<input type="text" name="nums">
<input type="submit" name="Поиск">
</form>
Введя в эту форму 1 2 35 -34, в переменной $arr мы получим массив [1, 2, 35, -34]. Правда вместо чисел в нём будут строки, но это неважно, поскольку перед сравнением значений PHP всё равно будет приводить их к числам.
Теперь вы можете добавить сюда код любого из описанных выше циклов, например вычисление суммы положительных чисел с циклом for:
<?php
if(isset($_GET['nums']))
{
$arr = explode(' ', $_GET['nums']);
$sum = 0;
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] > 0)
$sum += $arr[$i];
}
var_dump($sum);
}
?>
<form>
<input type="text" name="nums">
<input type="submit" name="Поиск">
</form>
Конец последовательности
Для реализации конца последовательности нужно в начало цикла foreach добавить следующий код:
if($v == 0)
break;
Для цикла for код будет выглядеть так:
if($arr[$i] == 0)
break;
Пример для поиска положительных элементов foreach:
<?php
$arr = [2, 0, 4, -4, 12, -3, 1];
$values = [];
foreach($arr as $v)
{
if($v == 0)
break;
if($v > 0)
$values[] = $v;
}
var_dump($values); // [2]
Пример для поиска положительных элементов for:
<?php
$arr = [2, 0, 4, -4, 12, -3, 1];
$values = [];
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] == 0)
break;
if($arr[$i] > 0)
$values[] = $arr[$i];
}
var_dump($values); // [2]
Python задачи
Создайте массив из 20 случайных целых чисел от -10 до 10, запишите их в ячейки массива. Подсчитайте, сколько из них положительных, отрицательных и нулевых. Отобразите элементы массива и значения подсчитанных величин. Разбор задачи на python
Алгоритм решения задачи на python
1) Назначить три переменные под счётчики и присвоить им значение равное 0
2) Написать цикл for, который создаёт случайные числа и записывает их в массив, далее сравнивает и записывает +1 в соответствующий счётчик
3) Вывод на экран значения счётчиков и массива
Код для нахождения количества положительных, отрицательных и равных нулю элементов массива
from random import random
mins = 0
zero = 0
plus = 0
a = []
for i in range(20):
n = int(random() * 20) — 10
a.append(n)
print(n, end=’ ‘)
if n > 0:
plus += 1
elif n < 0:
mins += 1
else:
zero += 1
print(«nПоложительных чисел: «, plus)
print(«Отрицательных чисел: «, mins)
print(«Чисел равных нулю: «, zero)
Python задачи
Все задачи на python
Репост статьи
22 декабря 2022 г.
Комментарии могут оставлять только зарегестрированные пользователи!
Комментарии
Ваш комментарий будет первым !
using System; class Program { static void Main(string[] args) { int N = 10, sum = 0; // размер массива и переменная для подсчета количества положительных элементов int[] A = new int[N]; // объявление массива и выделение памяти под него Random r = new Random(); // объект для генерации случайных чисел for (int i = 0; i < N; i++) { A[i] = r.Next(-10, 10); // инициализируем элементы массива случайными значениями из диапазона [-10, 10) Console.Write(A[i] + " "); // и выводим их if (A[i] > 0) // если элемент положительный sum ++; // то прибавляем к счетчику 1 } Console.WriteLine("n" + sum); // Вывод получившегося количества дабы убедиться в правильности результата и пойти довольным к преподу :) Console.ReadKey(); // ожидание нажатия клавиши (пауза) } }