Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Создание матриц. 
:(
    Опции темы
SlevinVik
Дата 5.4.2009, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



Здравствуйте! Пожалуйста, помогите решить задачу: "Создать матрицу 5х5. Найти среднее арифметическое ее положительных членов и вывести. Поменять местами 2-ой столбец с 3-им, вывести в отдельную матрицу.  
PM MAIL   Вверх
Kakadu
Дата 5.4.2009, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 19.3.2008

Репутация: 7
Всего: 7



Код
var a,b:array[1..5,1..5] of integer;
      i,j,temp,middle:integer;
BEGIN
     writeln('BEGIN');
     middle:=0;

     for i:=1 to 5 do
       for j:=1 to 5 do
         a[i,j]:=random(100);
     writeln('**** a ****');
     for i:=1 to 5 do begin
       for j:=1 to 5 do
           write(a[i,j]:2,' ');
       writeln('');
     end;
     middle:=0;
     for i:=1 to 5 do
       for j:=1 to 5 do
         middle:=middle+a[i,j];
     writeln('Middle= ', (middle/25):3:2);

     for i:=1 to 5 do
       for j:=1 to 5 do
         b[i,j]:=a[i,j];

     for i:=1 to 5 do begin
         temp:=b[i,2];
         b[i,2]:=b[i,3];
         b[i,3]:=temp;
     end;
     writeln('**** b ****');
     for i:=1 to 5 do begin
       for j:=1 to 5 do
           write(b[i,j]:2,' ');
       writeln('');
     end;
     writeln('END');
END.



--------------------
Добрые мариносы долго кормили украдкой маленьких зерлингов. От этой украдки зерлинги пухли и дохли
PM MAIL   Вверх
SlevinVik
Дата 5.4.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



Kakadu, спасибо большое)... если можно, то мне именно в delphi надо через форму, кто знает помогите, пожалуйста.



Это сообщение отредактировал(а) SlevinVik - 5.4.2009, 16:27
PM MAIL   Вверх
Kakadu
Дата 5.4.2009, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 19.3.2008

Репутация: 7
Всего: 7



У меня Delphi под рукой нет, ничем не могу помочь.
А в чем проблема? Не понятно как это на форму вывести?


--------------------
Добрые мариносы долго кормили украдкой маленьких зерлингов. От этой украдки зерлинги пухли и дохли
PM MAIL   Вверх
v4v4n
Дата 5.4.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 26.9.2008

Репутация: 2
Всего: 4



Код

procedure TForm1.Button1Click(Sender: TObject);
var a,b:array[1..5,1..5] of integer;
      i,j,temp,middle:integer;
      s :string;
begin
     Memo1.Lines.Add('BEGIN');
     for i:=1 to 5 do
       for j:=1 to 5 do
         a[i,j]:=random(100);
     Memo1.Lines.Add('**** a ****');
     for i:=1 to 5 do begin
       s:='';
       for j:=1 to 5 do
           s:=s+IntToStr(a[i,j])+' ';
       Memo1.Lines.Add(s);
     end;
     middle:=0;
     for i:=1 to 5 do
       for j:=1 to 5 do
         middle:=middle+a[i,j];
     Memo1.Lines.Add('Middle= '+FloatToStr(middle/25));
     for i:=1 to 5 do
       for j:=1 to 5 do
         b[i,j]:=a[i,j];
     for i:=1 to 5 do begin
         temp:=b[i,2];
         b[i,2]:=b[i,3];
         b[i,3]:=temp;
     end;
     Memo1.Lines.Add('**** b ****');
     for i:=1 to 5 do begin
       s:='';
       for j:=1 to 5 do
           s:=s+IntToStr(a[i,j])+' ';
       Memo1.Lines.Add(s);
     end;
     Memo1.Lines.Add('END');
end;

)))
PM MAIL   Вверх
v4v4n
Дата 5.4.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 26.9.2008

Репутация: 2
Всего: 4



Код

const n=5;
      r=99;
procedure TForm1.FormCreate(Sender: TObject);
var  i,j : integer;
begin
     StringGrid1.ColCount:=succ(n);
     StringGrid1.RowCount:=succ(n);
     StringGrid2.ColCount:=succ(n);
     StringGrid2.RowCount:=succ(n);
     for i:=1 to n do
       for j:=1 to n do
         StringGrid1.Cells[i,j]:=IntToStr(random(2*r+1)-r);
end;
procedure TForm1.Button1Click(Sender: TObject);
var  i,j,middle,c:integer;
begin
     middle:=0;
     for i:=1 to n do
       for j:=1 to n do begin
         c:=StrToInt(StringGrid1.Cells[i,j]);
         if c>0 then inc(middle,c);
       end;
     MessageDlg('Middle= '+FloatToStr(middle/sqr(n)),mtInformation,[mbOk],0);
end;

procedure TForm1.Button2Click(Sender: TObject);
var  i,j:integer;
begin
     for i:=1 to n do
       for j:=1 to n do
           case i of
           2 : StringGrid2.Cells[succ(i),j]:=StringGrid1.Cells[i,j];
           3 : StringGrid2.Cells[pred(i),j]:=StringGrid1.Cells[i,j];
           else StringGrid2.Cells[i,j]:=StringGrid1.Cells[i,j];
           end;
end;


PM MAIL   Вверх
SlevinVik
Дата 5.4.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 5.4.2009

Репутация: нет
Всего: нет



v4v4n, спасибо огромное))))

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.