Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 20:54   #1
Дмитрий142
Пользователь
 
Регистрация: 21.01.2009
Сообщений: 22
Восклицание помогите с задачами по Паскалю...етот сайт моя последняя надежда...

1. Дано натуральное число. Установить, является ли
последовательность его цифр при просмотре их слева напра
во упорядоченной по неубыванию. Например, для чисел 1368
и 1669 ответ положительный, для числа 1782 — отрицательный и т. п.

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

3. Найти все целые числа из промежутка от 100 до 300,
у которых сумма делителей равна 50.

4. В каждой строке двухмерного массива поменять
местами первый нулевой элемент и последний отрицательный. Если таких элементов нет, то должно быть выведено
соответствующее сообщение.

5. В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 12 автогонщиков на
каждом из 10 этапов соревнований «Формула1» (в первой
строке — результаты первого гонщика, во второй — второго
и т. д.). После десятого этапа гонщик с порядковым номером
4 выбыл из соревнований. Изменить массив так, чтобы в нем
не было результатов выбывшего гонщика.

6. Дан двухмерный массив из 20 столбцов. Вставить в
него столбец из чисел 10 после всех четных столбцов.

Дмитрий142 вне форума Ответить с цитированием
Старый 21.01.2009, 21:02   #2
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

program t_6;
uses crt;
var a:array [1..20,1..20] of integer;
i,j:integer;
begin
randomize;
for i:=1 to 20 do
for j:=1 to 20 do
a[i,j]:=random(20);

for i:=1 to 20 do
for j:=1 to 20 do
begin
if (i)mod(2)=1 then
begin
a[j,i+1]:=10;
end;

for i:=1 to 20 do
begin Writeln;
for j:=1 to 20 do
Write(a[i,j]);
end;
end;
readkey;
end.
werser вне форума Ответить с цитированием
Старый 21.01.2009, 21:09   #3
Дмитрий142
Пользователь
 
Регистрация: 21.01.2009
Сообщений: 22
По умолчанию

спассссибо тебе огромное...
Дмитрий142 вне форума Ответить с цитированием
Старый 21.01.2009, 21:09   #4
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

program t_4;
uses crt;
var a:array [1..20,1..20] of integer;
i,j,nulli,nullj,otri,nullj:integer;
begin
randomize;
for i:=1 to 20 do
for j:=1 to 20 do
a[i,j]:=random(20);

for i:=1 to 20 do
for j:=1 to 20 do
begin
if a[i,j]<0 then
begin
otri:=i;
otrj:=j;
end;

for i:=1 to 20 do
for j:=1 to 20 do
begin
if a[i,j]=0 then
begin
nulli:=i;
nullj:=j;
end;

c:=a[nulli,nullj];
a[nulli,nullj]:=a[otri,ptrj];
a[otri,otrj]:=c;

for i:=1 to 20 do
begin Writeln;
for j:=1 to 20 do
Write(a[i,j]);
end;
end;
readkey;
end.
werser вне форума Ответить с цитированием
Старый 21.01.2009, 21:11   #5
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

Не за что))))))

Последний раз редактировалось werser; 22.01.2009 в 10:34.
werser вне форума Ответить с цитированием
Старый 21.01.2009, 23:00   #6
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

Задача 1:
Код:
Var a:array[1..4] of byte;
V,i:integer;
Begin
Writeln('Vvedite chislo');
Readln(v);
For i:=4 downto 1 do
Begin
A[i]:=v mod 10;
V:=v div 10;
End;
For i:=1 to 3 do
Begin
If a[i]>a[i+1] then
Begin
Writeln('Neyavlaetsa');
Readln;
Halt
End;
End;
Writeln('Yavlaetsa');
Readln
End.
pomoshnic вне форума Ответить с цитированием
Старый 21.01.2009, 23:10   #7
Дмитрий142
Пользователь
 
Регистрация: 21.01.2009
Сообщений: 22
По умолчанию

спасибо =)
Дмитрий142 вне форума Ответить с цитированием
Старый 21.01.2009, 23:36   #8
master.devel
Пользователь
 
Регистрация: 20.01.2009
Сообщений: 13
По умолчанию

В первой задачи неизвестно заранее число цифр в числе. Вот более универсальная программа:
Код:
program Prog1;
function foo(num: integer): boolean;
var
	t_num, t_num_old: integer;
begin
t_num_old:=9;
repeat
	t_num:=num mod 10;
	if t_num <= t_num_old then
		result:=true
	else
	begin
		result:=false;
		break;
	end;
until t_num <> 0;
end;

var
num: integer;
begin
write('ENTER NUMBER: ');
readln(num);
if foo(num) = true then
writeln(num,' it's true)
else
writeln(num,'it's false');
end;
master.devel вне форума Ответить с цитированием
Старый 21.01.2009, 23:42   #9
master.devel
Пользователь
 
Регистрация: 20.01.2009
Сообщений: 13
По умолчанию

Третья задача:
Код:
program program3;
var
	count, sum, i, j: integer;
begin
sum:=0;
count:=0;
for i:=100 to 300 do
begin
	for j:=1 to i do
		if i mod j = 0 then
			sum:=sum+j;
	if sum = 50 then
	begin
		count:=count+1;
		writeln('number № ', count, ' is ', i);
	end;
end;
readln;
end;
master.devel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помоготе с двумя задачами по паскалю ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 2 21.01.2009 11:18
Моя первая и последняя игра. BangBangFM Gamedev - cоздание игр: Unity, OpenGL, DirectX 13 05.12.2008 22:12
Кто Етот ServerSocket ? combays Помощь студентам 5 24.08.2008 21:40