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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2008, 15:52   #1
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
Вопрос Двухмерый массив!!

Задан целочисленный двухмерный массив размера 3x4 . вывести на экран массив в виде матрицы, состоящей из трех строк и четырёх столбцов !!
Не знаю с чего начать !! Помогите кто чем может !!!
SanSanblch вне форума Ответить с цитированием
Старый 29.10.2008, 16:21   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
Не знаю с чего начать !! Помогите кто чем может !!!
Начать надо с любого учебника по Паскалю, потому что в учебниках по Делфи такие элементарные вещи как правило не рассматриваются. Сказать точно какой учебник Вам подойдет сложно. Скачайте несколько, они большей частью легкие, выберете, какой Вам понравится.
Кстати куча ссылок в первой теме раздела Паскаль.
puporev вне форума Ответить с цитированием
Старый 29.10.2008, 17:20   #3
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
По умолчанию

Цитата:
Сказать точно какой учебник Вам подойдет сложно. Скачайте несколько, они большей частью легкие, выберете, какой
У меня их и так куча !!
SanSanblch вне форума Ответить с цитированием
Старый 29.10.2008, 17:24   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Хорошо. В чем тогда конкретно проблема?
puporev вне форума Ответить с цитированием
Старый 29.10.2008, 17:25   #5
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
Восклицание

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Memo1: TMemo;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
type Mm=array[1..3,1..4]of integer;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var
S:string[12]; S1:string[12];S2:string[12];S3:string[12];
m:mm;
i,p,k,r,t,n,j,g,strok,stolb:integer ;
begin
S:=(Edit1.Text);
p:=length(S);
i:=0;
for k:=1 to p do
begin
val(s[k],n,r);
if n = 5 then
i:=i+1;
Label1.Caption:=('Число 5 встречается '+FloatToStr(i)+' раз !')
end;
begin

memo1.Lines[0]:=s[1]+s[2]+s[3]+s[4];
end; begin
memo1.Lines[1]:=s[5]+s[6]+s[7]+s[8];
end; begin
memo1.Lines[2]:= s[9]+s[10]+s[11]+s[12];


end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
end;

end.

Почему ответ не выводится в эти строки
memo1.Lines[1]:=s[5]+s[6]+s[7]+s[8]+'35345';

memo1.Lines[2]:= s[9]+s[10]+s[11]+s[12];
А только в memo1.Lines[0]:=s[1]+s[2]+s[3]+s[4];
что я не правильно написал??

Последний раз редактировалось SanSanblch; 29.10.2008 в 17:28.
SanSanblch вне форума Ответить с цитированием
Старый 29.10.2008, 17:36   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
Задан целочисленный двухмерный массив размера 3x4 . вывести на экран массив в виде матрицы, состоящей из трех строк и четырёх столбцов !!
При чем здесь число 5? Какие строки? Вы о чем? Нужно задать массив, например таким простым способом.
a[1,1]:=1;a[1,2]:=2;a[1,3]:=3; a[1,4]:=4;
a[2,1]:=5;a[2,2]:=6;a[2,3]:=7;a[2,4]:=8;
a[3,1]:=9;a[3,2]:=10;a[3,3]:=11;a[3,4]:=12;
Затем пишем
Код:
for i:=1 to 3 do 
    begin  
     memo1.Text:=memo1.Text + #13+#10;
     for j:=1 to 4 do 
     memo1.Text:=memo1.Text+IntToStr(a[i,j])+'  ';
    end;
В Мемо получите таблицу. Хотя лучше таблицу выводить в StringGrid.
puporev вне форума Ответить с цитированием
Старый 29.10.2008, 17:40   #7
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
По умолчанию

Ща попробую!!

А пять притом, что среди всей матрице нужно посчитать сколько раз встречается число 5!!
SanSanblch вне форума Ответить с цитированием
Старый 29.10.2008, 17:45   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
for i:=1 to 3 do
for j:=1 to 4 do
a[i,j]:=random(4)+3;//случайные числа от 3 до 6
for i:=1 to n do begin  memo1.Text:=memo1.Text + #13+#10;
for j:=1 to n do memo1.Text:=memo1.Text+IntToStr(a[i,j])+'  ';
k:=0;
for i:=1 to 3 do
for j:=1 to 4 do
if a[i,j]=5 then k:=k+1;
Edit1.Text:='Количество чисел 5='+IntTostr(k);
puporev вне форума Ответить с цитированием
Старый 31.10.2008, 19:12   #9
LexFreeman
 
Аватар для LexFreeman
 
Регистрация: 17.07.2008
Сообщений: 5
По умолчанию

Цитата:
Сообщение от SanSanblch Посмотреть сообщение
Задан целочисленный двухмерный массив размера 3x4 . вывести на экран массив в виде матрицы, состоящей из трех строк и четырёх столбцов !!
Не знаю с чего начать !! Помогите кто чем может !!!
Делается это примерно так:
(какой-то обработчик событий, например OnClick по кнопке)

var
mas:array[0..3,0..4] of integer;
i,j:integer;

begin
randomize;
for i=0 to 3 do
for j=0 to 4 do
begin
mas[i,j]:=random(10); \\ в каждом элементе массива будет случайное целое число от 0 до 10
StringGrid1.cells[j,i]:=mas[i,j]; \\ не уверен в верности орфографии, т.к. не компилил.
end;
end.


Вот и всё. У вас на форме будет кнопка и компонент StringGrid. При нажатии на конпку в компоненте StringGrid будет появляться матрица случайных целых чисел, размерностью 3х4. Удачи
LexFreeman вне форума Ответить с цитированием
Старый 31.10.2008, 19:35   #10
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
mas:array[0..3,0..4] of integer;
Это матрица 4х5.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив в С++ !!!!! Общие вопросы C/C++ 3 10.11.2008 10:07
Массив Levsha100 Помощь студентам 5 23.07.2008 16:29
массив {С++} Влдислаав3911 Помощь студентам 0 28.05.2008 23:21
Массив vitalik007 Помощь студентам 15 17.10.2007 19:56
Массив Dude Помощь студентам 2 13.06.2007 14:11