пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Билет №4(1,2)

1. Реализовать функцию или процедуру, которая вычисляет факториал числа.

#include <iostream>
#include <math.h>
using namespace std;
int fac(int n);
void main(){
int n;
cin>>n;
cout<<fac(n);
system("PAUSE");
}

int fac(int n)
{int k;
k=1;
if (n==0) {return 1;}
for(int i=1;i<=n;i++){
k=i*k;}
return k;}

2.Дана матрица из целых чисел, заменить в ней все четные числа на ближайшие нечетные (в меньшую сторону). 

program matr
real*8, allocatable :: ma(:,:)
integer a, b,e
logical t
t=0
read(*,*) i,j
100 format(f10.2,\)
allocate (ma(i,j))
call RANDOM_NUMBER(ma)
ma=ceiling(ma*100)

do l=1,i
write(*,100) (ma(l,l1),l1=1,j)
write(*,*)""
end do
do k=1,i,1
do m=1,j,1
if (mod(int(ma(k,m)), 2)==0) then
t=0
! b=ma(k,m)
a=ma(k,m)
do while (not(t))
! b=b+1
a=a-1
! if (pr(int(b))) then
! ma(k,m)=b
! exit
! else
if (pr(int(a))) then
ma(k,m)=a
exit
end if
! end if
end do
end if
end do
end do
write(*,*) 'result'
do l=1,i
write(*,100) (ma(l,l1),l1=1,j)
write(*,*)""
end do
Pause

contains
logical function pr(x)
integer x,y
logical z
z=1
y=2
do while (y<x)
if ((mod(x, y))==0) then
z=0
end if
y=y+1
end do
pr=z
end function pr
end

 


10.06.2015; 13:12
хиты: 231
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь