Вопрос № 84177: Еще раз обращаюсь к вам с просьбой...опять задали лабы....Итак..
1. Вычислить сумму элементов матрицы М(n*n),лежащих справа от главной диагонали.
2.Найти решение уравнения у=(х-3)в кубе+2 с точностью 0,001 на отрезке [0,5].
3.В целочислен...Вопрос № 84180: Вот это самое жестокое что может быть....я полностью не знаю что делать...помогите люди добрые..я знаю вы тут.....
Ввести двумерный массив D 3*5.Вычислить максимальный по модулю элемент (Dmax) и с помощью "под программы 2" построить мас...Вопрос № 84187: Здравствуйте!
Помогите, пожалуйста, решить задачу, написав решение на языке Pascal.
Задача такая:
Известны координаты на плоскости двух точек. Составить программу вычисления расстояния между ними.
Только, сразу говорю: Я не халявщик, ...Вопрос № 84190: Помоги пожалуйста уважаемые Эксперты
вот программа
uses crt;
var X,Y,code: integer;
a1,a2,a3,a4,a5,a6:integer,
S: string;
begin
clrscr;
writeln ('S');
readln(S);
val(copy (S,1,1),a1,code);
val(copy (S,2,1)...Вопрос № 84329: Возникла проблема с сортировкой массива... Надо отсортировать массив так, чтобы сначала шли четные числа, а потом нечтеные. У меня выходит, что последний элемент массива остается на месте и из-за этого естесственно в новом массиве поледний элемент по...
Вопрос № 84.177
Еще раз обращаюсь к вам с просьбой...опять задали лабы....Итак..
1. Вычислить сумму элементов матрицы М(n*n),лежащих справа от главной диагонали.
2.Найти решение уравнения у=(х-3)в кубе+2 с точностью 0,001 на отрезке [0,5].
3.В целочисленноЙ МАТРИЦЕ A(N*N) найти наименьший и наибольший элементы и переставить между собой строки, в которых они находяться.
Только братцы...пожалуйста поподробнее...как полностью написать программу....я в этом полный ноль!!!
Заранее всем спасибо!!
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Трусов Александр Евгеньевич!
Смотрите приложение.
Будут вопросы, спрашивайте.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 25.04.2007, 18:53 Оценка за ответ: 5 Комментарий оценки: Я пока не пробовал...но большущее вам спасибо!!!!
Вопрос № 84.180
Вот это самое жестокое что может быть....я полностью не знаю что делать...помогите люди добрые..я знаю вы тут.....
Ввести двумерный массив D 3*5.Вычислить максимальный по модулю элемент (Dmax) и с помощью "под программы 2" построить массив D1=D max*D. Упорядочить его строки по возрастанию с помощью "под прогаммы 1".
"под прогамма 1". Тип F. Упорядочить по возрастанию элементы строки К матрицы.
"под программа 2". Умножение матрицы на скаляр.
Помогите люди добрые...
Заранее всем благодарен!!!!
Отвечает: Verena
Здравствуйте, Трусов Александр Евгеньевич!
Загадочную запись про тип F я поняла как задать тип "матрица" с названием F, не знаю, насколько это правильно. Под подпрограммой подразумевается, видимо, процедура. Чтобы не отходить от ТЗ обозвала процедуры One и Two.
const m=3;
const n=5;
type F = array [1..m, 1..n] of integer; {описываем тип массива}
var d: F;
i, j, max: integer;
procedure One (var a: F); {подпрограмма 1 - сортировка методом пузырька}
var i, j, k, x: integer;
begin
for i:=1 to m do
for j := 2 to n do
begin
for k := n downto j do
if a[i, k-1]< a[i, k] then {если текущий элемент больше, меняем местами}
begin
x := a[i, k-1];
a[i, k-1] := a[i, k];
a[i, k] := x;
end;
end;
end;
procedure Two (var a: F; k: integer); {подпрограмма 2 - умножение матрицы на скаляр}
var i, j: integer;
begin
for i:=1 to m do
for j:=1 to n do
a[i,j]:= a[i,j]*k; {домножаем каждый элемент на скаляр k}
end;
begin
for i:=1 to m do
for j:=1 to n do
readln (d[i,j]);
max:= abs(d[1,1]);
for i:=1 to m do {ищем максимальное по модулю}
for j:=1 to n do
if abs(d[i, j])>max then max:= abs(d[i,j]);
Two (d, max); {вызываем процедуры (подпрограммы)}
One (d);
for i:=1 to m do
begin
for j:=1 to n do {выводим на экран}
write (d[i,j]);
writeln;
end;
end.
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 10-ый класс)
Ответ отправлен: 25.04.2007, 19:38 Оценка за ответ: 5 Комментарий оценки: Спасибо бальшущее уважаемая!!!
Отвечает: Gh0stik
Здравствуйте, Трусов Александр Евгеньевич!
В приложении код программы.
Несколько комментариев: procedure pp1(k:integer;var x:mas); {упорядочивает k-ю строку по возрастанию} procedure pp2(l:integer;var x:mas); {умножаем матрицу на скляр} procedure prnMas(x:mas); {выводим матрицу на экран}
Good Luck!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 25.04.2007, 19:41 Оценка за ответ: 5 Комментарий оценки: Пасиба большое!!!!
Вопрос № 84.187
Здравствуйте!
Помогите, пожалуйста, решить задачу, написав решение на языке Pascal.
Задача такая:
Известны координаты на плоскости двух точек. Составить программу вычисления расстояния между ними.
Только, сразу говорю: Я не халявщик, а просто хочу понять, как решать такие задачи, и надеюсь, что вы мне объясните, как её решить.
Очень надеюсь на помощь!
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Красильников И.П.!
Схема такая если Вы проведете через точки линии паралельные осям,
то у Вас получится прямоугольный треугольник, а дальше все по Пифагору
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 25.04.2007, 19:08 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Necromancer
Здравствуйте, Красильников И.П.!
Расстояние м/д двумя точками на плоскости равно квадратному корню из суммы квадратов разности соответствующих координат. А на языке Pascal это будет выглядить следующим образом:
r := sqrt( sqr( x2-x1 ) + sqr( y2-y1 ) );
В этом случае r - искомое расстояние (переменная вещественнного типа); и (x1,y1) и (x2,y2) - коордмнаты двух точек.
Если вам нужна программа целиком сообщите, напишу
--------- Никогда не сдавайся, даже если боишься проиграть
Ответ отправил: Necromancer (статус: 2-ой класс)
Ответ отправлен: 25.04.2007, 22:08 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Чичерин Вадим Викторович
Здравствуйте, Красильников И.П.!
Расстояние L между точками, заданными координатами А (x1,y1) и B(x2,y2):
L = SQRT((x1-x2)^2+(y1-y2)^2)
Как я понимаю, координаты уже известны, значит AX, AY, BX, BY уже заданы...
Приложение:
--------- Чем больше я смотрюсь в зеркало, тем больше верю Дарвину...
Ответ отправил: Чичерин Вадим Викторович (статус: 2-ой класс)
Ответ отправлен: 26.04.2007, 19:41 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Шарков Сегей Николаевич
Здравствуйте, Красильников И.П.!
program P1;
var x1,x2,y1,y2:integer;
s:real
begin
writeln(‘Введите координаты первой точки’);
readln(x1,y1);
writeln(‘Введите координаты второй точки’);
readln(x2,y2);
s:=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln(‘Расстояние между этими точками равно ’,s:8:4);
readln
end.
Ответ отправил: Шарков Сегей Николаевич (статус: 2-ой класс)
Ответ отправлен: 30.04.2007, 07:06 Оценка за ответ: 5
Вопрос № 84.190
Помоги пожалуйста уважаемые Эксперты
вот программа
uses crt;
var X,Y,code: integer;
a1,a2,a3,a4,a5,a6:integer,
S: string;
begin
clrscr;
writeln ('S');
readln(S);
val(copy (S,1,1),a1,code);
val(copy (S,2,1),a2,code);
val(copy (S,3,1),a3,code);
val(copy (S,4,1),a4,code);
val(copy (S,5,1),a5,code);
val(copy (S,6,1),a6,code);
X:=a1+a2+a3;
Y:=a4+a5+a6;
if X=Y then writeln ('счастливое число') else writeln ('не счастливое)ж
readln;
end.
нужно сделать с циклом вроде со счетчиком что бы не писать val(copy (S,1,1),a1,code);
помогите пожалуйста.
Отправлен: 25.04.2007, 19:03
Вопрос задал: А.Е.В (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Gh0stik
Здравствуйте, А.Е.В!
Вот результат, который соответствует Вашему условию:
uses crt;
var X,Y,code,i: integer;
a:array [1..6] of integer;
S: string;
begin
clrscr;
write('S: ');
readln(S);
for i:=1 to 6 do val(copy (S,i,1),a[i],code);
X:=a[1]+a[2]+a[3];
Y:=a[4]+a[5]+a[6];
if X=Y then writeln ('счастливое число') else writeln ('не счастливое');
readln;
end.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 25.04.2007, 19:14
Отвечает: Vassea
Здравствуйте, А.Е.В!
uses crt;
var X,Y,code: integer;
S: string;
i:integer;
a:array [1..6] of integer;
begin
clrscr;
writeln ('S');
readln(S);
for i:=1 to 6 do
begin
val(copy (S,i,1),a[i],code);
end;
X:=a[1]+a[2]+a[3];
Y:=a[4]+a[5]+a[6];
if X=Y then writeln ('счастливое число') else writeln ('не счастливое)ж
readln;
end.
Ответ отправил: Vassea (статус: 2-ой класс)
Ответ отправлен: 25.04.2007, 19:14
Отвечает: Bingo
Здравствуйте, А.Е.В!
Можно объявить S как char, и строка будет считываться по одному символу (не нужно будет никаких Copy();).
-----
var X,Y,code: integer;
a:array[1..6]of integer;i:integer,
S: char;
Begin
for i:=1 to 6 do begin
read(s);
val(s,a[i],code);
end;
X:=a[1]+a[2]+a[3];
Y:=a[4]+a[5]+a[6];
if X=Y then writeln ('счастливое число') else writeln ('не счастливое');
End.
----
Удачи!
--------- C темным пивом в светлое будущее!
Ответ отправил: Bingo (статус: 4-ый класс)
Ответ отправлен: 25.04.2007, 20:35
Вопрос № 84.329
Возникла проблема с сортировкой массива... Надо отсортировать массив так, чтобы сначала шли четные числа, а потом нечтеные. У меня выходит, что последний элемент массива остается на месте и из-за этого естесственно в новом массиве поледний элемент повторяется и нет одного из нужных... Код вложил.
Приложение:
Отправлен: 26.04.2007, 16:16
Вопрос задал: Kimon (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Ерёмин Андрей
Здравствуйте, Kimon!
См. пример в приложении. Сначала в массив заносятся случайные числа - это для теста. Сам алгоритм сортировки после комментария "Sorting". Метод использован такой: проходим все элементы массива со 2-го до конца. Каждый раз смотрим: если предыдущий элемент - нечётный, а текущий - чётный, значит меняем их местами. Дополнительно ведём счётчик таких перестановок и после каждого прохода до конца массива увеличиваем этот счётчик. Когда массив будет отсортирован, счётчик останется равным нулю. Обращаю ваше
внимание, что после такой операции массив остаётся неупорядочен, т.е. числа хотя и располагаются "по группам" - сначала чётные, а затем нечётные, но в самих этих группах они расположены в произвольном порядке. Чтобы их отсортировать, нужно дополнительно применить алгоритм сортировки для этого массива. Удачи!
Приложение:
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Punk_UnDead
Здравствуйте, Kimon!
буду краток
for p:=1 to x-1 do
for h:=p+1 to x do
if c[h] mod 2=0 then
begin
n:=c[h];
c[h]:=c[p];
c[p]:=n;
break; (*не обязательно, но освобождает от лишних сравнений*)
end;
внимательнее стройте алгоритм
при моём подходе в c[p] в любом случае будет чётное число, если конечно они ещё остались
а вообще задача линейная
нужно либо с двух сторон идти пока не индексы не сойдутся и в случае пары неправильно стоящей обменивать
либо идти спереди и первый каждый нечётный обменивать с самым первым идущим за ним чётным, пока индекс по которому ищем чётные не достигнет конца массива
--------- всё испытано на себе
Ответ отправил: Punk_UnDead (статус: 5-ый класс)
Ответ отправлен: 26.04.2007, 16:46