Страница 4 из 4
Re: Помогите в решении простейших задач
Добавлено: 12 ноя 2007, 13:40
somewhere
" писал(а):x=a*a*a; //a^3
y=x*x; //a^9
Ну как так можно, вспоминаем математику:
A^x * A^y = A^(x+y) = A^3 * A^3 = A^(3+3) = A^6
Re: Помогите в решении простейших задач
Добавлено: 12 ноя 2007, 18:08
Хыиуду
somewhere писал(а):Ну как так можно, вспоминаем математику:
A^x * A^y = A^(x+y) = A^3 * A^3 = A^(3+3) = A^6
Ага, похоже на то. Посыпаю голову пеплом
Re: Помогите в решении простейших задач
Добавлено: 12 ноя 2007, 18:14
Хыиуду
Хотя нет:
r=a*a*a*a*a;
b=a*a;
res=r*r*r*b*b;
Re: Помогите в решении простейших задач
Добавлено: 13 ноя 2007, 23:32
ninjais
А помогите найти ошибки?..
1). Дана квадратная матрица порядка М. Найти среднее арифметическое элементов каждой её диагонали, параллельной главной (начиная с одноэлементной диагонали А1, М).
var
m:integer;
a:array [1..m,1..m] of integer;
i,j:integer;
s:real;
begin
writeln('Введите m');
read(m);
randomize;
for i:=1 to m do
begin
for j:=1 to m do
begin
a[i,j]:=random(10);
write(a[i,j]:6);
end;
writeln;
end;
if (a=a[j]) then
s:=0;
for i:=1 to m do
s:=a[i,j]/3;
write('Среднее арифметическое= ',s:1:1);
end.
2). Дан двухмерный массив целых чисел. Определить среднее арифметическое нечётных элементов пятой строки.
var
a:array [1..5,1..5] of integer;
i,j:integer;
s:real;
begin
randomize;
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
a[i,j]:=random(15);
write(a[i,j]:6);
end;
writeln;
end;
s:=0;
for i:=1 to 5 do
if ((a[i,j] mod 2)<>0) then
s:=(sqr(a[5,1])+sqr(a[5,2])+sqr(a[5,3])+sqr(a[5,4])+sqr(a[5,5]))/5;
writeln('Среднеее арифметическое=',s);
end.
И ещё.. как определить количество максимальных элементов в массиве?
Re: Помогите в решении простейших задач
Добавлено: 14 ноя 2007, 11:07
Хыиуду
1. Я бы сделал так
Код: Выделить всё
for shift=-(M-1) to (M-1) do
begin
if shift=0 then continue;
if shift<0 then
for i:=1 to M+shift do
находим среднее арифметическое элементов A[i, i-shift]
else
for i:=1 to M-shift do
находим среднее арифметическое элементов A[i+shift, i]
end;
2.
Код: Выделить всё
s:=0;
count:=0;
for i:=1 to N do
if odd(A[5,N]) then begin inc(s, A[5,N]); inc(count); end;
result:=s/count;
3. Пройти по всему массиву, найти максимальный элемент, пройти еще раз по всему массиву, найти, сколько элементов равно максимальному
Re: Помогите в решении простейших задач
Добавлено: 14 ноя 2007, 19:44
Serge_Bliznykov
3. Пройти по всему массиву, найти максимальный элемент, пройти еще раз по всему массиву, найти, сколько элементов равно максимальному
Имхо, можно за один проход!
завести переменную MaxCount
вначале там единичка.
MaxElement := A[1]
Проход по массиву, там, где мы сравниваем MaxElement и A
Код: Выделить всё
if A[i] > MaxElement then begin
MaxElement := A[i]
MaxCount := 1;
end
else
if A[i] = MaxElement then then Inc(MaxCount);
всё. в конце
первого прохода в MaxCount - количество максимальных элементов!
(ну, точнее количество элементов массива, равных значению максимального элемента)
Re: Помогите в решении простейших задач
Добавлено: 15 ноя 2007, 03:28
ninjais
Спасибо.. с последней разобралась..
Re: Помогите в решении простейших задач
Добавлено: 15 ноя 2007, 07:14
Serge_Bliznykov
это надо понять как - "Миссия выполнена" ? Т.е. со всеми задачи покончено. Так?..
Re: Помогите в решении простейших задач
Добавлено: 17 дек 2007, 20:30
Quarter
Помогите решить задачки. Пожалуйста.
1)задана последовательность символов, за которой стоит точка (в саму последовательность точка не входит ). напечатайте текст, удаливши из нево все символы, что не есть цифрами.
2)группы символов, разделены пробелами (одним или несколькими) и которые не имеют пробела в середине себя, будем называть словами. дан текст. напечатайте слова, в которых встречается мягкий знак.
Re: Помогите в решении простейших задач
Добавлено: 18 дек 2007, 11:26
Хыиуду
Раздел "Алгоритмы", тема "Разбиение строки на слова"