Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 19:04   #1
Alex Dreamer
 
Регистрация: 07.04.2009
Сообщений: 5
По умолчанию Помогите решить задачи в Делфи

задали пару задач для исправления аттестации... сам не могу, помогите пожалуйста...

1. Даны натуральное число n, символы S1,...,Sn. Известно, что среди символов есть хотя бы один, отличный от пробела. Удалить из последовательности S1,...,Sn группы пробелов, которыми последовательность начинается и заканчивается, а также заменить каждую внутреннюю группу пробелов на один

2. · Найти значения наибольшего отрицательного и наименьшего положительного элементов

· В матрице все отрицательные элементы в строках, которые следуют за строкой, содержащей наибольший элемент, увеличить на 10

· Найти номера строк матрицы, сумма цифр элементов которых делится на 3
Alex Dreamer вне форума Ответить с цитированием
Старый 07.04.2009, 23:27   #2
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию

1. Сначала S1:=Trim(S1); \\ Trim Удаляет начальные и конечные пробелы в строке.

Любая строка - это одномерный массив элементов. Поэтому:
var i,j:Integer;
s,n_s:String;
begin
s:=Edit1.Text; //S1,..,Sn-в твоем случае
For i:=1 to length(s) do
begin
if (s[i]=#32) and (s[i+1]=#32) then //#32 - это символ пробела
n_s:=n_s
else n_s:=n_s+s[i];
end;
Edit2.Text:=n_s;
end;

В таком духе..... А по второй задаче ответ есть в этом разделе.. Помоему отвечали Оксаночке.. Там правда массив одномерный, но принцип тот же. Тока у тебя 2 цикла - по строкам и по столбцам. Потом запоминаешь в переменную № строки, а дальше легко... Думай а я спать....
По ракетам и хоккею - Россияне всех сильней!

Последний раз редактировалось Ky3Heu,; 07.04.2009 в 23:38.
Ky3Heu, вне форума Ответить с цитированием
Старый 08.04.2009, 09:32   #3
Alex Dreamer
 
Регистрация: 07.04.2009
Сообщений: 5
По умолчанию

Спасибо большое!
по второй здаче не могу найти эту тему(((
Alex Dreamer вне форума Ответить с цитированием
Старый 08.04.2009, 11:12   #4
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
//Найти значения наибольшего отрицательного и наименьшего положительного элементов
//В матрице все отрицательные элементы в строках, которые следуют за строкой, 
//содержащей наибольший элемент, увеличить на 10
//Найти номера строк матрицы, сумма цифр элементов которых делится на 3



begin
{ввод размерности}
{ввод матрицы}
{вывод исходной матрицы}
bo:=-9999;
mp:=9999;
max:=-65000;
im:=1;
for i:=1 to n do
 s[i]:=0;
for i:=1 to n do
for j:=1 to n do begin
if (a[i,j]<0) and (a[i,j]>bo) then bo:=a[i,j];//Найти значения наибольшего отрицательного
if (a[i,j]>0) and (a[i,j]<mp) then mp:=a[i,j];//Найти значения наименьшего положительного 
if a[i,j]>max then begin
max:=a[i,j];
im:=i; // строка,содержащая наибольший элемент
end;
s[i]:=s[i]+a[i,j];
end;
{---тут должен быть вывод наибольшего отрицательного и наименьшего положительного}
if im<n-1 then begin
for i:= im+1 to n do
for j:=1 to n do
if (a[i,j]<0) then a[i,j]:=a[i,j]+10;//отрицательные элементы увеличить на 10
end;
for i:= 1 to n do
if s[i] mod 3 =0 then {вывод i туда куда надо}
{вывод получившейся матрицы}
end.
// все что в {} предлагаю написать самому! ибо лень! и не забудьте переменные описать
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»

Последний раз редактировалось IT-man; 08.04.2009 в 11:23.
IT-man вне форума Ответить с цитированием
Старый 08.04.2009, 13:03   #5
cocojambo
Новичок
Джуниор
 
Регистрация: 08.04.2009
Сообщений: 2
По умолчанию

Дело в том, что "помощь" подразумевает наличие вопросов, и описание проблем, которые самостоятельно не получается преодолеть.
Не красиво называть тему "Помогите...", если под ней подразумевается "Сделайте, а то мне лень...".
cocojambo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить прогу на делфи бедный_студент Помощь студентам 7 03.03.2009 18:12
Помогите решить задачи modulrev Помощь студентам 8 11.01.2009 15:59
помогите решить задачи в делфи буду очень благодарен пыхонин филипп Помощь студентам 4 05.01.2009 23:24