Задача - Разложить положительные и отрицательные числа по разным массивам - программирование на разных языках

Задача — Разложить положительные и отрицательные числа по разным массивам — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Разложить положительные и отрицательные числа по разным массивам
— программирование на Pascal, Си, Кумир, Basic-256, Python

Случайные числа в диапазоне от -5 до 5 разложить по двум массивам: в одни помещать только положительные, во второй — только отрицательные. Числа, равные нулю, игнорировать. Вывести на экран все сгенерированные случайные числа и элементы обоих массивов.

  • Изначально оба массива пусты. Присвоим двум разным переменным-индексам массивов нули.
  • В цикле выполняем следующие действия.
    1. Генерируем случайное число и выводим его на экран.
    2. Если очередное число положительное, то увеличиваем индекс массива на единицу и записываем в соответствующую ячейку это число.
    3. Если же генерируется отрицательное число, то увеличиваем индекс массива отрицательных чисел и записываем в массив число.
  • В циклах от первого до последнего элемента выводим на экран содержимое массивов положительных и отрицательных чисел. Их переменные-индексы указывают на количество элементов в массивах.

Pascal

const
N = 21;
var
b,c: array[1..N] of integer;
num: integer;
i, j, k: byte;
begin
randomize;
j := 0;
k := 0;
for i:=1 to N do begin
num := random(11)-5;
write(num:3);
if num > 0 then begin
j := j+1;
b[j] := num;
end
else if num < 0 then begin
k := k + 1;
c[k] := num;
end;
end;

writeln;
for i:=1 to j do write(b[i]:3);
writeln;
for i:=1 to k do write(c[i]:3);
writeln;
end.   4 -2 -1  3 -4  5  3  0 -2 -2 -2  0  1 -5 -1  2  3 -2  5  0 -5
4  3  5  3  1  2  3  5
-2 -1 -4 -2 -2 -2 -5 -1 -2 -5

Язык Си

#include <stdio.h>
#define N 20
main() {
int a[N], b[N], i,j,k, n;
srand(time(NULL));
j = 0;
k = 0;
for (i=0; i<N; i++) {
n = rand()%11 — 5;
printf(«%3d», n);
if (n > 0) {
a[j] = n;
j += 1;
} else
if (n < 0) {
b[k] = n;
k += 1;
}
}
printf(«n»);
for (i=0; i<j; i++) printf(«%3d», a[i]);
printf(«n»);
for (i=0; i<k; i++) printf(«%3d», b[i]);
printf(«n»);
}   0 -2 -3  2 -2  5 -2  2  4 -1  2  1  5  0  2 -1 -1 -2 -4 -4
2  5  2  4  2  1  5  2
-2 -3 -2 -2 -1 -1 -1 -2 -4 -4

Python

from random import random
a = [] b = [] for i in range(20):
n = int(random() * 11) — 5
print(n, end=’, ‘)
if n > 0:
a.append(n)
elif n < 0 :
b.append(n)
print()
print(a)
print(b) -3, -5, -2, 2, -5, 5, -3, -3, 5, 2, 0, -4, 5, 1, -5, 2, -1, 5, 3, 4,
[2, 5, 5, 2, 5, 1, 2, 5, 3, 4] [-3, -5, -2, -5, -3, -3, -4, -5, -1]

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

КуМир

алг фильтрация
нач
цел N = 10
цел таб a[1:N], b[1:N] цел i, j, k, num
j := 0
k := 0
нц для i от 1 до N
num := int(rand(0,11)) — 5
вывод num, » »
если num > 0 то
j := j + 1
a[j] := num
иначе если num < 0 то
k := k + 1
b[k] := num
все
все
кц
вывод нс
нц для i от 1 до j
вывод a[i], » »
кц
вывод нс
нц для i от 1 до k
вывод b[i], » »
кц
кон 2 1 3 0 5 -5 3 -4 1 0
2 1 3 5 3 1
-5 -4

Basic-256

N = 20
dim a(N)
dim b(N)
j = 0
k = 0
for i=0 to N
n = int(rand * 11) — 5
print n + » «;
if  n > 0 then
a[j] = n
j = j+1
else
if n < 0 then
b[k] = n
k = k+1
endif
endif
next i
print

for i=0 to j-1
print a[i]+» «;
next i
print
for i=0 to k-1
print b[i]+» «;
next i -3 0 4 -3 3 5 4 -2 4 0 -4 2 -3 3 -2 -1 5 -5 4 -3 5
4 3 5 4 4 2 3 5 4 5
-3 -3 -2 -4 -3 -2 -1 -5 -3

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий