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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2013, 22:24   #1
Zaraaa
Пользователь
 
Регистрация: 19.04.2013
Сообщений: 83
По умолчанию массивы

помогите переделать в делфи, у меня в консоле.
Код Delphi
Код:
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
Var a:array[1..10,1..10] of byte;
      summ:array[1..10] of byte;
      i,j,m,n,max:integer;
      SummChet, SummNechet:integer;
begin
writeln('vvedite razmernost matrici mxn: ');
write('m= '); readln(m);
write('n= '); readln(n);
writeln('vvedite elementi matr: ');
for i:=1 to m do
   for j:=1 to n do begin
      write('a[',i,',',j,']= ');
      readln(a[i,j]);
   end;
  writeln('matrica');
  for i:=1 to m do begin
  for j:=1 to n do begin
       write(a[i,j]:3);
        summ[i]:=summ[i]+a[i,j];
  end;
  writeln;
 end;
 writeln('summa elementov kajdoi stroki: ');
 max:=summ[1];
 for i:=1 to m do
 begin
      writeln(i,' stoka: ',summ[i]);
      if summ[i]>max then max:=summ[i];
      end;
 writeln('max summa:',max);
 writeln('pomenyali pervuyu stoku s poslednei: ');
 for i := 1 to n do
begin
  j := a[1, i];
  a[1, i] := a[m, i];
  a[m, i] := j;
end;
for i := 1 to m do
begin
  for j := 1 to n do
    write(a[i, j]:6);
  writeln;
end;
// Считаем сумму четных/нечетных элементов
writeln('summa elementov 4etnih i ne4etnih 4isel: ');
SummChet := 0;
SummNechet := 0;
for i := 1 to m do
for j := 1 to n do
begin
if (a[i, j] mod 2 = 0) then
inc(SummChet, a[i, j])
else
inc(SummNechet, a[i, j]);
  end;
writeln('summa chetnih: ', SummChet:6);
writeln('summa nechetnih: ', SummNechet:6);
write('vihod-enter');
readln;
end.
Вложения
Тип файла: rar 2.rar (23.9 Кб, 5 просмотров)

Последний раз редактировалось Stilet; 30.09.2013 в 22:29.
Zaraaa вне форума Ответить с цитированием
Старый 30.09.2013, 22:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-то типа:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
Var a:array[1..10,1..10] of byte;
      summ:array[1..10] of byte;
      i,j,m,n,max:integer;
      SummChet, SummNechet:integer;
begin
  writeln('vvedite razmernost matrici mxn: ');
  m:=StrToInt(InputBox('Ввод','m= ',''));
  n:=StrToInt(InputBox('Ввод','n= ',''));
  for i:=1 to m do
     for j:=1 to n do begin
        a[i,j]:=StrToInt(InputBox('Ввод','a['+IntToStr(i)+','+IntToStr(j)+']= ',''));
     end;
    for i:=1 to m do begin
    for j:=1 to n do begin
         ListBox1.AddItem(IntToStr(a[i,j]),nil);
          summ[i]:=summ[i]+a[i,j];
    end;
    ListBox1.AddItem('',nil);
   end;
   ListBox1.AddItem('summa elementov kajdoi stroki: ',nil);
   max:=summ[1];
   for i:=1 to m do
   begin
        ListBox1.AddItem(IntToStr(i)+' stoka: '+IntToStr(summ[i]),nil);
        if summ[i]>max then max:=summ[i];
        end;
   ListBox1.AddItem('max summa:'+IntToStr(max),nil);
   ListBox1.AddItem('pomenyali pervuyu stoku s poslednei: ',nil);
   for i := 1 to n do
  begin
    j := a[1, i];
    a[1, i] := a[m, i];
    a[m, i] := j;
  end;
  for i := 1 to m do
  begin
    for j := 1 to n do
      ListBox1.AddItem(IntToStr(a[i,j]),nil);
    ListBox1.AddItem('',nil);
  end;
  // Считаем сумму четных/нечетных элементов
  ListBox1.AddItem('summa elementov 4etnih i ne4etnih 4isel: ',nil);
  SummChet := 0;
  SummNechet := 0;
  for i := 1 to m do
  for j := 1 to n do
  begin
  if (a[i, j] mod 2 = 0) then
  inc(SummChet, a[i, j])
  else
  inc(SummNechet, a[i, j]);
    end;
   ListBox1.AddItem('summa chetnih: '+IntToStr(SummChet),nil);
   ListBox1.AddItem('summa nechetnih: '+IntToStr(SummNechet),nil);
 ListBox1.AddItem(IntToStr(i)+' stoka: '+IntToStr(summ[i]),nil);
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2013, 23:08   #3
Zaraaa
Пользователь
 
Регистрация: 19.04.2013
Сообщений: 83
По умолчанию

Stilet, а как сделать чтобы на листбоксе размерности матрицы отображались как сама матрица
напр так: 1 2 3
4 5 6
7 8 9
а выводится так:
1
2
3

4
5
6

7
8
9 помогите) и спасибо )))
Zaraaa вне форума Ответить с цитированием
Старый 30.09.2013, 23:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Приведу пример:
Код:
    for i:=1 to m do begin
    for j:=1 to n do begin
         ListBox1.Lines.Text:=ListBox1.Lines.Text+'   '+(IntToStr(a[i,j]),nil);
          summ[i]:=summ[i]+a[i,j];
    end;
    ListBox1.AddItem('',nil);
   end;
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2013, 23:18   #5
Zaraaa
Пользователь
 
Регистрация: 19.04.2013
Сообщений: 83
По умолчанию

не совсем, я не знаю как осуществить это на делфи

Цитата:
Сообщение от Stilet Посмотреть сообщение
Приведу пример:
Код:
    for i:=1 to m do begin
    for j:=1 to n do begin
         ListBox1.Lines.Text:=ListBox1.Lines.Text+'   '+(IntToStr(a[i,j]),nil);
          summ[i]:=summ[i]+a[i,j];
    end;
    ListBox1.AddItem('',nil);
   end;
Идея понятна?
не совсем, я не знаю как этот код осуществить на делфи

Последний раз редактировалось Stilet; 01.10.2013 в 10:30.
Zaraaa вне форума Ответить с цитированием
Старый 30.09.2013, 23:57   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Вам просто нужно в коде из поста 2 найти похожий кусочек и заменить его новым кодом. Честно говоря, если Вы умеете писать программы в консоле, то исправить код не должно составить никакого труда (просто принимая на веру некоторые специфические вещи оконного режима).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
указатели на массивы и массивы указателей blacktener Общие вопросы C/C++ 16 13.06.2011 20:45
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12