Показать полную графическую версию : Задачки на Паскале!
Дорогой Алл помогите решить несколько задач по паскалю.... Некоторые решил остались те на которые ума нехватило....
3) В действительной квад. матрице порядка n, найти наиб. по модулю элемент. Получить квад. матрицу порядка n-1 путем выбрасывания из исходной матрицы строки и столбцы на пересеч. котор. наход. найденный элемент.
4) Дан текст. Найти все слова содер. наиб. кол. гласных лат. букв (a,e,i,o,u).
8) Дано натур. n, целые неотриц. a1,..,1n. Рассмотреть отрезки послед a1,..,an (предп. идущих подряд членов), состоящие из простых чисел (описать соответ. процед.) Получить наибольшую из длин рассмат. отрезков.
Завтра надо эти задачки сдать, или к зачеты не допустят...
задача 3
Решение приводит не буду, оно простое, только алгоритм:
перебирай элементы матрицы
max=0;
for i:= 1 to n do
for j:= 1 to n do
*begin
* * *if abs (a[i,j])>max then
* * * * begin
* * * * * * temp_var1:=i;
* * * * * * temp_var2:=j;
* * * * * * max:=a[i,j]
* * * * end;
*end;
Далее переносишь элементы матрицы в другую (результирующую), просматривая значания счетчиков.
for i:= 1 to n do
for j:= 1 to n do
*begin
* ** if i = temp_var1 then inc(i);
* ** if j = temp_var2 then inc(j)
* * *b[i,j]:=a[i,j]
*end;
Вот и все.
Добавлено:
задача 4
Строка - массив элементов типа char.
Просматривай её. Пусть слова отделяются пробелами, тогда ищи входжения пробелов и, тем самым, вычленяй слова. Заводи переменную, которая хранила бы текущее максимальное количество гласных. Сами гласные сделай как множество (set), а потом просто смотри, есть ли текущая буква в нем (проверка на if ... in название мнежества). А потом просто увеличивай счетчик и сравнивай его с максимальным. Извини, восьмую просто не успеваю рассмотреть - домой бегу. Но, надеюсь, хоть в чем-то я тебе помог. Удачи.
Исправлено: [mzd], 19:33 17-12-2003
[mzd]
Спасибо за решения, сам все дополню...
Строка - массив элементов типа char.
А я пробовал через string, точнее так надо было.
Ещё раз спасибо, помог во многом, сча закончу с матрицами, и вернусь. :gigi:
CREDO
string - он и есть массив типа char. :)
Но все равно, рад, что помог.
[mzd]
Да с этими задачками решились. А прикол в том, что я вылечу из-за дискретки... :gigi: Но хоть на следующий год буду знать как решать!!!
[mzd]
for i:= 1 to n do
for j:= 1 to n do
begin
if i = temp_var1 then inc(i);
if j = temp_var2 then inc(j)
b[i,j]:=a[i,j]
end;
А если temp_var1==n или temp_var2==n то херня получится!
т.е. если максимальный элемент расположен в последней строке
или последнем столбце твоя прога будет писать за границу массива. это есть некрасиво совсем :)
Я си изучаю могу на си написать. если хочешь.
Или сам исправь.
shurikan
19-12-2003, 06:39
[mzd]
Точнее это будет так:
ii := 0;
for i:= 1 to n-1 do
begin
*inc(ii);
*if i = temp_var1 then inc(ii);
*jj := 0;
*for j:= 1 to n-1 do
*begin
* * *inc(jj);
* * *if j = temp_var2 then inc(jj)
* * *b[i,j]:=a[ii,jj]
*end;
end;
bilytur,
shurikan
Писал в попыхах, между написанием базы на Access, мог пропустить. Спасибо, что исправили.
CREDO
Я сам сдавал дискретку, знаю, что это такое :) Это было четыре года назад, но забыть это не могу до сих пор...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.