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

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
maxreal
Сообщения: 2
Зарегистрирован: 23 дек 2007, 07:22

Пожалуйста помогите сделать задачи.. В понедельник зачет сдавать,а я не знаю как делать...
1) Дан массив из n слов произвольной длины, но не превышающих 80 симво-лов. Элементами слов могут быть любые графические символы. Вывести все четные цифры, содержащиеся в слове наибольшей длины и вывести число повторений каждой этой цифры в этом слове.
2) С помощью матрицы A(2хn) в плоскости задано n точек так, что a1,j,a2,j - координаты j-й точки. Точки попарно соединены отрезками. Найти длину наибольшего отрезка и вывести его координаты.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

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

2. Длина отрезка - sqrt(sqr(x2-x1)+sqr(y2-y1)). Пройтись в двойном цикле по всему массиву и найти максимально удаленные точки. Тот же самый раздел "Алгоритмы", та же тема "Нахождение максимума"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
maxreal
Сообщения: 2
Зарегистрирован: 23 дек 2007, 07:22

Помогите плиз!!!исправьте ошибки в коде, где стоят скобки...
Дан массив из 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.
Ответить