Страница 1 из 1

проблемы с массивами

Добавлено: 23 дек 2007, 07:29
maxreal
Пожалуйста помогите сделать задачи.. В понедельник зачет сдавать,а я не знаю как делать...
1) Дан массив из n слов произвольной длины, но не превышающих 80 симво-лов. Элементами слов могут быть любые графические символы. Вывести все четные цифры, содержащиеся в слове наибольшей длины и вывести число повторений каждой этой цифры в этом слове.
2) С помощью матрицы A(2хn) в плоскости задано n точек так, что a1,j,a2,j - координаты j-й точки. Точки попарно соединены отрезками. Найти длину наибольшего отрезка и вывести его координаты.

Re: проблемы с массивами

Добавлено: 24 дек 2007, 10:57
Хыиуду
1. Раздел "Алгоритмы", тема "Нахождение максимума". Найти самое длинное слово. Создать массив a:array['0'..'8'] of byte; пройтись по строке, если находим четную цифру - увеличиваем значение соответствующего элемента массива на 1. Потом проходим по массиву, выводим все нечетные цифры с ненулевыми значениями массива.

2. Длина отрезка - sqrt(sqr(x2-x1)+sqr(y2-y1)). Пройтись в двойном цикле по всему массиву и найти максимально удаленные точки. Тот же самый раздел "Алгоритмы", та же тема "Нахождение максимума"

Re: проблемы с массивами

Добавлено: 12 янв 2008, 09:49
maxreal
Помогите плиз!!!исправьте ошибки в коде, где стоят скобки...
Дан массив из n слов произвольной длины, но не превышающих 80 симво-лов. Элементами слов могут быть любые графические символы. Вывести все четные цифры, содержащиеся в слове наибольшей длины и вывести число повторений каждой этой цифры в этом слове.
program lab;
uses crt;
const n=3;
type mas=array[1..n] of string[80];
var
i,j: integer;
max,max_i: integer;
masiv: mas;
str: string;
kol: integer;
chislo:string;
begin
clrscr;
max:=0;
max_i:=1;
for i:=1 to n do
begin
write('Vvedite slovo #',i,': ');
readln(masiv);
if (length(masiv)>max) then
begin
max:=length(masiv);
max_i:=i;
end;
end;
str:=masiv[max_i];
writeln('Slovo MAX dlini - ',str);
for i:=1 to length(masiv[max_i]) do
begin
if (str in ['2','4','6','8']) then
{[ begin
for j:=1 to i-1 do
if (str[j]=str) then
kol:=0;
chislo:=str;
for j:=1 to length(str) do
if (str[j]=chislo) then kol:=kol+1;
writeln('chislo - ',str,'; povtoryaetsya - ',kol,' raz(a)' );]}-
тут

end;
end;
readln;
end.