//Ответ на C++;
int s = 0; //Количество элементов, удовлетворяющие условию
for( i = 0; i < 10; i++)
if( (A(i) < 15) || (A(i) > 30) )
s++;
//s - количество элементов.
Другие языки программирования и технологии
задача на массивы. срочно!!! в одномерном массиве А [10] найти кол-во элементов , которые меньше 15 и больше 30
// Ответ на Java; )))
int s = 0; //Количество элементов, удовлетворяющие условию
for( int i = 0; i < A.length; i++)
if( (A[ i ] < 15) || (A[ i ] > 30) )
s++;
//s - количество элементов.
// Ответ на Fortran; )))
implicit none
integer :: i, a(10), s
write(*,'(A)') 'Enter elements of array A'
read(*,*) (a(i),i=1,10)
s = 0
do i=1,10
if(a(i).lt.15.or.a(i).gt.30) s = s + 1
end do
print *, s, ' elements counted'
end
int s = 0; //Количество элементов, удовлетворяющие условию
for( int i = 0; i < A.length; i++)
if( (A[ i ] < 15) || (A[ i ] > 30) )
s++;
//s - количество элементов.
// Ответ на Fortran; )))
implicit none
integer :: i, a(10), s
write(*,'(A)') 'Enter elements of array A'
read(*,*) (a(i),i=1,10)
s = 0
do i=1,10
if(a(i).lt.15.or.a(i).gt.30) s = s + 1
end do
print *, s, ' elements counted'
end
Ну вот.. . Все известные мне языки уже разобрали. :(((
Придётся писать на неизвестных. :D
/* Ответ на С */
#include <time.h>
#include <stdlib.h>
int main() {
const int n=10;
int a[n], x, s=0;
srand(time(NULL));
for (x=0; x < n; x++) {
a[x]=rand() % 50;
printf("%4i",a[x]);
if ((a[x] < 15) || (a[x] > 30)) s++;}
printf("\nКоличество элементов = %i\n",s);
getchar();
return 0;}
% Ответ на Visual Prolog 7.3
implement main
open core
domains
massive=integer*.
constants
className = "main".
classVersion = "".
class predicates
print:(massive) procedure(i).
rnd:(integer,massive) procedure(i,o).
counter:(massive,integer) procedure(i,o).
clauses
classInfo(className, classVersion).
print([]).
print([H|T]):-console::write(H," "),print(T).
rnd(0,[]):-!.
rnd(X,[H|T]):-X1=X-1,H=math::random(100),rnd(X1,T).
counter([],0):-!.
counter([H|T],X):-counter(T,X1),(H < 15,X=X1+1,!;H > 30,X=X1+1,!;X=X1,!).
clauses
run():-console::init(),
rnd(10,List),print(List),console::nl,
counter(List,S),console::write("Количество элементов = ",S),
succeed().
end implement main
goal
mainExe::run(main::run).
Кстати, выше в ответе на паскале ошибка.
{Ответ на Pascal 7.1}
program N53945489;
const n=10;
var a:array[1..n] of byte;
x,s:integer;
begin
randomize;
s:=0;
writeln('Исходный массив: ');
for x:=1 to 10 do begin
a[x]:=random(100);
write(a[x]:4);
if (a[x] < 15) or (a[x] > 30) then inc(s); {<- здесь ошибка}
end; writeln;
writeln('Количество элементов = ',s);
readln;
end;
; Ответ на Ассемблере Z80A для ZX-Spectrum 48 :D)))
ORG 60000
ENT $
NMAS EQU 10
LD A,R
LD H,A
LD L,A
LD (SEED),HL
LD A,2
CALL 5633
LD B,NMAS
LD C,0
LD HL,MASS
CRM CALL RND
LD (HL),A
INC HL
CALL IPRNT
CP 15
JR C,YES
CP 31
JR C,NO
YES INC C
NO DJNZ CRM
PUSH BC
LD DE,MSG
LD BC,8
CALL 8252
POP BC
MOV A,C
IPRNT PUSH AF
PUSH BC
PUSH HL
LD C,A
LD B,0
CALL 11563
CALL 11747
LD A," "
RST 16
POP HL
POP BC
POP AF
RET
RND PUSH BC
PUSH DE
PUSH HL
LD HL,(SEED)
LD DE,7
ADD HL,DE
LD E,L
LD D,H
ADD HL,HL
ADD HL,HL
LD C,L
LD B,H
ADD HL,HL
ADD HL,BC
ADD HL,DE
LD (SEED),HL
LD L,H
LD DE,100
LD H,D
CALL 12457
LD A,H
POP HL
POP DE
POP BC
RET
MSG DEFB 13,"R","e","s","u","l","t","="
SEED DEFW 0
MASS DEFS 10
Придётся писать на неизвестных. :D
/* Ответ на С */
#include <time.h>
#include <stdlib.h>
int main() {
const int n=10;
int a[n], x, s=0;
srand(time(NULL));
for (x=0; x < n; x++) {
a[x]=rand() % 50;
printf("%4i",a[x]);
if ((a[x] < 15) || (a[x] > 30)) s++;}
printf("\nКоличество элементов = %i\n",s);
getchar();
return 0;}
% Ответ на Visual Prolog 7.3
implement main
open core
domains
massive=integer*.
constants
className = "main".
classVersion = "".
class predicates
print:(massive) procedure(i).
rnd:(integer,massive) procedure(i,o).
counter:(massive,integer) procedure(i,o).
clauses
classInfo(className, classVersion).
print([]).
print([H|T]):-console::write(H," "),print(T).
rnd(0,[]):-!.
rnd(X,[H|T]):-X1=X-1,H=math::random(100),rnd(X1,T).
counter([],0):-!.
counter([H|T],X):-counter(T,X1),(H < 15,X=X1+1,!;H > 30,X=X1+1,!;X=X1,!).
clauses
run():-console::init(),
rnd(10,List),print(List),console::nl,
counter(List,S),console::write("Количество элементов = ",S),
succeed().
end implement main
goal
mainExe::run(main::run).
Кстати, выше в ответе на паскале ошибка.
{Ответ на Pascal 7.1}
program N53945489;
const n=10;
var a:array[1..n] of byte;
x,s:integer;
begin
randomize;
s:=0;
writeln('Исходный массив: ');
for x:=1 to 10 do begin
a[x]:=random(100);
write(a[x]:4);
if (a[x] < 15) or (a[x] > 30) then inc(s); {<- здесь ошибка}
end; writeln;
writeln('Количество элементов = ',s);
readln;
end;
; Ответ на Ассемблере Z80A для ZX-Spectrum 48 :D)))
ORG 60000
ENT $
NMAS EQU 10
LD A,R
LD H,A
LD L,A
LD (SEED),HL
LD A,2
CALL 5633
LD B,NMAS
LD C,0
LD HL,MASS
CRM CALL RND
LD (HL),A
INC HL
CALL IPRNT
CP 15
JR C,YES
CP 31
JR C,NO
YES INC C
NO DJNZ CRM
PUSH BC
LD DE,MSG
LD BC,8
CALL 8252
POP BC
MOV A,C
IPRNT PUSH AF
PUSH BC
PUSH HL
LD C,A
LD B,0
CALL 11563
CALL 11747
LD A," "
RST 16
POP HL
POP BC
POP AF
RET
RND PUSH BC
PUSH DE
PUSH HL
LD HL,(SEED)
LD DE,7
ADD HL,DE
LD E,L
LD D,H
ADD HL,HL
ADD HL,HL
LD C,L
LD B,H
ADD HL,HL
ADD HL,BC
ADD HL,DE
LD (SEED),HL
LD L,H
LD DE,100
LD H,D
CALL 12457
LD A,H
POP HL
POP DE
POP BC
RET
MSG DEFB 13,"R","e","s","u","l","t","="
SEED DEFW 0
MASS DEFS 10
Так это делается на Ruby:
a.count{ |i| i < 15 || i > 30 }
a.count{ |i| i < 15 || i > 30 }
'ответ на qbasic
dim a(10)
randomize timer
n=0
for i=1 to 10
a(i)=int(100*rnd)
print a(i),
if (a(i) < 15) or (a(i) > 30) then n=n+1
next
print "result = ";n
end
10 rem ответ на другом бейсике
20 dim a(10)
30 randomize
40 let n=0
50 for i=0 to 9
60 let a(i)=int(100*rnd(1))
70 print "a(";i+1;") = ";a(i)
80 if (a(i) < 15) or (a(i) > 30) then let n=n+1
90 next i
100 print "result = ";n
110 stop
comment - ответ на algol 60
program counter;
begin integer i,n; integer array a[ 1:10];
comment - тут надо ввести массив или сформировать случайно;
n := 0;
for i := 1 step 1 until 10 do
begin
if a[ i ] < 15 then n := n+1;
if a[ i ] > 30 then n := n+1;
end i;
print n;
end counter.
;ответ на assembler intel8086 для ms-dos
.model small
.data
mass db 10 dup (?)
.code
start:mov ax,@data
mov ds,ax
xor bl,bl
lea si,mass
mov cx,10
cycle:mov al,[si]
inc si
cmp al,15
jc goto1
goto1:cmp al,31
jc goto2
goto1:inc bl
goto2:loop cycle
mov ah,2
cmp bl,10
jc goto3
mov dl,31h
int 21h
goto3:mov dl,bl
add dl,30h
int 21h
mov ax,4c00h
int 21h
end start
C-----ответ на FORTRAN IV
------PROGRAM COUNTER
------INTEGER A,I,N
------DIMENSION A(10)
------READ (*,1) (A(I),I=1,10)
----1-FORMAT (I2)
------N=0
------DO 2 I=1,10
------IF(A(I).LT.15.OR.A(I).GT.30) N=N+1
----2-CONTINUE
------WRITE (*,3) N
----3-FORMAT (I2)
------END
dim a(10)
randomize timer
n=0
for i=1 to 10
a(i)=int(100*rnd)
print a(i),
if (a(i) < 15) or (a(i) > 30) then n=n+1
next
print "result = ";n
end
10 rem ответ на другом бейсике
20 dim a(10)
30 randomize
40 let n=0
50 for i=0 to 9
60 let a(i)=int(100*rnd(1))
70 print "a(";i+1;") = ";a(i)
80 if (a(i) < 15) or (a(i) > 30) then let n=n+1
90 next i
100 print "result = ";n
110 stop
comment - ответ на algol 60
program counter;
begin integer i,n; integer array a[ 1:10];
comment - тут надо ввести массив или сформировать случайно;
n := 0;
for i := 1 step 1 until 10 do
begin
if a[ i ] < 15 then n := n+1;
if a[ i ] > 30 then n := n+1;
end i;
print n;
end counter.
;ответ на assembler intel8086 для ms-dos
.model small
.data
mass db 10 dup (?)
.code
start:mov ax,@data
mov ds,ax
xor bl,bl
lea si,mass
mov cx,10
cycle:mov al,[si]
inc si
cmp al,15
jc goto1
goto1:cmp al,31
jc goto2
goto1:inc bl
goto2:loop cycle
mov ah,2
cmp bl,10
jc goto3
mov dl,31h
int 21h
goto3:mov dl,bl
add dl,30h
int 21h
mov ax,4c00h
int 21h
end start
C-----ответ на FORTRAN IV
------PROGRAM COUNTER
------INTEGER A,I,N
------DIMENSION A(10)
------READ (*,1) (A(I),I=1,10)
----1-FORMAT (I2)
------N=0
------DO 2 I=1,10
------IF(A(I).LT.15.OR.A(I).GT.30) N=N+1
----2-CONTINUE
------WRITE (*,3) N
----3-FORMAT (I2)
------END
var A:Array[1..10]of byte;
x,s: integer;
begin
randomize;
for x:=1 to 10 do A[x]:=random(100);
s:=0;
for x:=1 to 10 do
if A[x]<15 or A[x]>30 then inc(s);
writeln(s);
end;
x,s: integer;
begin
randomize;
for x:=1 to 10 do A[x]:=random(100);
s:=0;
for x:=1 to 10 do
if A[x]<15 or A[x]>30 then inc(s);
writeln(s);
end;
Похожие вопросы
- Ввести 10 элементов в массив с клавиатуры, и определите количество элементов, которые кратный 5.
- Даны два массива A и B размера N, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результ
- СРОЧНО ПАСКАЛЬ задан одномерный массив с (1..10), дать ответ: каких элементов больше: положительных или отрицательных
- Дан массив. Выведите те его элементы, которые встречаются в массиве только один раз. В чем ошибка?
- Простая задачка для программистов: Как найти самый частый элемент массива?
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять
- С++. Элементы массива задаются с клавиатуры. Подсчитать количество элементов массива, являющихся трехзначным числом.
- Задача на МАССИВЫ Паскаль ОЧЕНЬ СРОЧНО!!!!
- Дано вещественное число R и массив размера N. Найти элемент массива, который наименее близок к данному числу