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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2009, 20:29   #1
Sorinka
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 21
По умолчанию Delphi: Одномерный массив

В общем дали задачку, а я запуталась свосем
Помогите решить!

Дан массив, содержащий N элементов. Написать подпрограмммы, выполняющие следующие действия:

* Перестановку элементов массива в обратном порядке
* вычеслить суммы а[1]+a[1]*a[2]+a[1]*a[2]*a[3]+...
* Определение элементов массива, разность модулей которых имеет наибольшее значение
* Определение значение, которое встречается среди элементов массива максимальное число раз, и вычисление количества вхождений
* Упорядочение элементов массива по возраствнию

Подскажите пожалуйста, как хотя бы первые два пункта сделать...
Очень нужно! Я попыталась сделать первый, но что-то не выходит.
Нужно, чтобы в СтрингГрид1 добавлялась строка и в ней был переставленный в обратном порядке массив...

Исходник:

Код:

procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.ColCount:=StrToInt(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j: integer;
begin
 randomize;

    for i:=0 to StringGrid1.ColCount - 1 do
          for j:=0 to StringGrid1.RowCount - 1 do
             begin
               StringGrid1.Cells[i,j]:=inttostr(random(100));
             end;
end;


procedure TForm1.Button3Click(Sender: TObject);
var
a:array[1..9] of integer;
i,t,n:integer;
begin
n:=StrToInt(Edit1.Text);
    for i:=1 to n-1 do
      if a[i]<a[i+1] then
        begin
          t:=a[i];
          a[i]:=a[i+1];
          a[i+1]:=t;
          stringGrid1.Cells[StringGrid1.RowCount,i]:=FloatToStr(i);

end;
end;
end.
Sorinka вне форума Ответить с цитированием
Старый 28.04.2009, 20:45   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

1
Код:
for i:=1 to (n div 2) do
         begin
              {запоминаем значение одного из элементов массива, которых мы хотим поменять местами}
              temp:=x[i];
	      {меняем местами}
              x[i]:=x[n-i+1];
              x[n-i+1]:=temp;
         end;
2
Код:
p:=1;
s:=0;
for i:=1 to n do begin
p:=p*a[i];
s:=s+p;
end;
label1.caption:='Cумма равна='+intTostr(s);
5
Код:
for i := 1 to n - 1 do
begin P := A [ i ] ; k := i ;
for j := i + 1 to n do
If A [ i ] < P then begin P := A [ i ] ; k := j end;
A [ k ] := A [ i ] ; A [ i ] := P
end
вступлю в команду разработчиков ПО на Delphi

Последний раз редактировалось maladoy; 28.04.2009 в 20:55.
maladoy вне форума Ответить с цитированием
Старый 28.04.2009, 21:30   #3
Sorinka
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 21
По умолчанию

Ано... Спасибо...
Но когда пытаюсь вставить первый код в программу, пишет ошибку:
[Fatal Error] Internal error: BC1993
Sorinka вне форума Ответить с цитированием
Старый 28.04.2009, 22:19   #4
Sorinka
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 21
По умолчанию

Помогитее, лююдиии!!!!!! не получается
Sorinka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив в delphi d3[Z.oRg] Помощь студентам 7 18.06.2011 15:04
Одномерный массив в Delphi (Задача) Kawun Помощь студентам 10 18.06.2011 14:21
Одномерный массив. Dmitrij Паскаль, Turbo Pascal, PascalABC.NET 1 28.11.2008 19:54
Программа в Delphi не хочет работать. (Одномерный массив). Kawun Помощь студентам 9 14.11.2008 16:26
одномерный массив ldx Паскаль, Turbo Pascal, PascalABC.NET 4 06.06.2008 17:45