• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите решить задачи на Паскале

Ксюха

Ученик
Регистрация
28 Май 2009
Сообщения
3
Реакции
0
Баллы
0
Помогите решить задачи на Паскале

1 Даны действительные числа S,T.
Получить H(S,T)+H(S-T,S*T)-H(2.5, S/T),
где H(A,B)= A / (1+B²) + B/ (1+A²) -(A-B)³ описать в программе как функцию.


2. Описать процедуру, которая в том из векторов А, В или С, где больше всего отрицательных элементов (считать, что такой вектор один), все его положительные элементы заменяет на их кубы — если это вектор А или вектор В, и на обратные величины — если это вектор С.
 
1 Даны действительные числа S,T.
Получить H(S,T)+H(S-T,S*T)-H(2.5, S/T),
где H(A,B)= A / (1+B²) + B/ (1+A²) -(A-B)³ описать в программе как функцию.


2. Описать процедуру, которая в том из векторов А, В или С, где больше всего отрицательных элементов (считать, что такой вектор один), все его положительные элементы заменяет на их кубы — если это вектор А или вектор В, и на обратные величины — если это вектор С.

Пожалуйста:

1.
VAR
S, T:REAL;

FUNCTION H(A,B:REAL):REAL;
BEGIN
H:=A/(1+SQR(B))+B/(1+SQR(A))-(A-B)*SQR(A-B);
END;

BEGIN
Write('S = '); ReadLn(S);
Write('T = '); ReadLn(T);
Writeln('Result = ', H(S,T)+H(S-T,S*T)-H(2.5, S/T));
ReadLn;
END.

2.
CONST
N=10;

TYPE
AR=ARRAY [1..N] of REAL;

PROCEDURE CHANGE_VECTOR(A_in, B_in, C_in:AR; VAR A_out:AR; VAR B_out:AR; VAR C_out:AR);
VAR
p_A, p_B, p_C, i:INTEGER;

BEGIN
p_A:=0;
p_B:=0;
p_C:=0;
FOR i:=1 TO N DO
BEGIN
IF A_in<0 THEN INC(p_A);
IF B_in<0 THEN INC(p_B);
IF C_in<0 THEN INC(p_C);
END;

IF (p_A>p_B) AND (p_A>p_C) THEN
BEGIN
B_out:=B_in;
C_out:=C_in;
FOR i:=1 TO N DO
IF A_in>0 THEN A_out:=A_in*A_in*A_in
ELSE
A_out:=A_in;
END;

IF (p_B>p_A) AND (p_B>p_C) THEN
BEGIN
A_out:=A_in;
C_out:=C_in;
FOR i:=1 TO N DO
IF B_in>0 THEN B_out:=B_in*B_in*B_in
ELSE
B_out:=B_in;
END;

IF (p_C>p_A) AND (p_C>p_B) THEN
BEGIN
A_out:=A_in;
B_out:=B_in;
FOR i:=1 TO N DO
IF C_in>0 THEN C_out:=1/C_in
ELSE
C_out:=C_in;
END;

END;
 
Последнее редактирование:
А можно и мне помощи в этом же направлении?)))Пожалуйста)))Нужно решить парочку задачек,а я ни чего не понимаю....

1) Даны целое число n и целочисленный одномерный массив a1,a2,..., an. Поучить двухмерный массив, элементы которого вычисляются по формуле bij = ai + 3aj , где i = 1, 2,...., n
2) В массиве целых чисел А1,..., An обнулить все отрицательные числа
3)Задан массив целых чисел размера Р. Напечатать числа, которые входят в массив более одного раза.
 
2) В массиве целых чисел А1,..., An обнулить все отрицательные числа
Код:
uses crt;
var a: array[1..100] of integer;
     i, n: integer;
begin
write('Введите количество элементов массива');
read(n);
writeln('Заполните массив целыми числами');
for i:=1 to n do
readln(a[i]);

for i:=1 to n do
if a[i]<0 then a[i]:=0

writeln('получившийся массив после обработки:');
for i:=1 to n do
writeln(a[i]);

readln
end.
 
Ограменное спасибо)))))

у меня тут еще задачки есть)))поможешь?)))

В зрительном зале размера N * M половина мест продана. Посетитель просит продать k подряд расположенных мест. Выдать всевозможные комбинации выполнения этого выполнения этого запроса, для того, чтобы посетитель смог сделать свой окончательный выбор. Занятые места вводите датчиком случайных чисел.
 
1) Даны два массива A и В, состоящие из N целых элементов. Соединить их в один массив С=(А1,В1,А2,В2,...., An, Bn)
2) Заданы два одномерных целых массива: массив А размера М и массив В размера N. Объединить их в один массив, включив второй массив между К - ым и К + 1 - м элементами первого (К - задано)
 
1) Даны целое число n и целочисленный одномерный массив a1,a2,..., an. Поучить двухмерный массив, элементы которого вычисляются по формуле bij = ai + 3aj , где i = 1, 2,...., n
Допущение: пусть максимальное количество элементов массива а будет равно 100 (для проверки достаточно и 10).
Код:
uses crt;
var a: array[1..100] of integer;
     b: array[1..100,1..100] of integer;
     i, j,n: integer;
begin
write('введите размерность массива а');
readln(n);
writeln('Заполните элементы массива а значениями');
for i:=1 to n do
readln (a[i]);

for i:=1 to n do begin
for j:=1 to n do begin
b[i,j]:=a[i]+3*a[j];
write(b[i,j],' '); end;
writeln; end;

readln
end.
 
1) Даны два массива A и В, состоящие из N целых элементов. Соединить их в один массив С=(А1,В1,А2,В2,...., An, Bn)
Код:
uses crt;
var a: array[1..100] of integer;
     b: array[1..100] of integer;
     c: array[1..200] of integer;
     i, n: integer;
begin
write('введите размерность массива');
readln(n);
writeln('Заполните элементы массива а значениями');
for i:=1 to n do
readln (a[i]);
writeln('Заполните элементы массива b значениями');
for i:=1 to n do
readln (b[i]);

for i:=1 to n*2 do 
if i mod 2=1 then c[i]:=a[i div 2+1] else c[i]:=b[i div 2]

for i:=1 to n*2 do
wtite (c[i],' ');

readln
end.
 
вот был бы ты рядом прям незнаю чтоб с тобой сделала))))))Спасибо:D
 
2) Заданы два одномерных целых массива: массив А размера М и массив В размера N. Объединить их в один массив, включив второй массив между К - ым и К + 1 - м элементами первого (К - задано)
Для решения этой задачи применяем промежуточный массив данных для временного хранения хвоста массива.
Код:
uses crt;
var a: array[1..1000] of integer;
     b: array[1..1000] of integer;
     c: array[1..1000] of integer;
     i,j,n,m,k: integer;
begin
write('введите размерность M');
readln(m);
writeln('Заполните элементы массива а значениями');
for i:=1 to m do
readln (a[i]);
write('введите размерность N');
readln(n);
writeln('Заполните элементы массива b значениями');
for i:=1 to n do
readln (b[i]);
write('введите значение К');
readln(k);
j:=0;
for i:=k+1 to m do begin
j:=j+1;
c[j]:=a[i]; end;
j:=1;
for i:=k+1 to m+n do 
if i<=k+n then a[i]:=b[i-k] else begin a[i]:=c[j]; j:=j+1; end;
for i:=1 to m+n do
write(a[i],' ');
readln
end.
 
3)Задан массив целых чисел размера Р. Напечатать числа, которые входят в массив более одного раза.

Const
P=10;
VAR
A,B:ARRAY[1..P] of INTEGER;
i,j,k,N,q:INTEGER;

BEGIN
FOR i:=1 TO P DO
BEGIN
Write('A[',i:1,']= ');
ReadLn(A);
END;
WriteLn;
q:=0;
N:=0;
FOR i:=1 TO P DO
FOR j:=i+1 TO P DO
IF A=A[j] THEN
BEGIN
FOR k:=1 TO N DO
IF A=B[k] THEN q:=1;
IF q=0 THEN
BEGIN
INC(N);
B[N]:=A;
WriteLn(A);
END;
q:=0;
END;
ReadLn;
END.
 
Большое спасибо:D
 
1) Даны два массива А и В и последовательность целых чисел С1,С2,..., Cm, где М=100.Найти все числа С1 такие, что А,В, Ci являются длинами сторон одного равнобедренного треугольника.

2)Дано целое положительное число М и массив целых чисел А1,...., Am. Заменить в массиве все отрицательные значения на равные по абсолютной велечине положительные.
 
1) Даны два массива А и В и последовательность целых чисел С1,С2,..., Cm, где М=100.Найти все числа С1 такие, что А,В, Ci являются длинами сторон одного равнобедренного треугольника.
Не понял - уточните условие. Что требуется - найти такие комбинации А, В и С, которые составляют длины сторон ОДНОГО И ТОГО ЖЕ равнобедренного треугольника, или найти все комбинации чисел А, В и С, которые могут быть интерпретированы, как стороны равнобедренного треугольника, т. е. выполняются условия типа А=В и А+В>С? Является ли С обязательно основанием треугольника или может быть боковой стороной?
2)Дано целое положительное число М и массив целых чисел А1,...., Am. Заменить в массиве все отрицательные значения на равные по абсолютной велечине положительные.
А вот это СВЕРХэлементарное задание будьте любезны сами. Если хотите ну хоть чему-нибудь научиться!
 
Привет! Я только начала изучать Паскаль)Помогите пожалуйста
1)Найти все цифры в символьном массиве и переместить их в начало массива.
 
Назад
Сверху