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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 21:26   #1
dima-intro
Пользователь
 
Аватар для dima-intro
 
Регистрация: 11.12.2010
Сообщений: 43
Сообщение Рассчет суммы цифр чисел элементов, расположеных по кромке матрицы

Помогите создать массив, элемнты которого равны сумме цифр чисел, расположеных по кромке случайно заполненой матрицы.

Вот моя функция и процедура, но они считают кол-во цифр чисел, а надо сумму цифр этих чисел.

Кто знает, прошу помочь.
Горю...


function Cifr(n:integer):integer;
var k:integer;
begin
k:=0;
while n>0 do
begin
k:=k+1;
n:=n div 10;
end;
result:=k;
end;

procedure ElementToArr(M:TMatr;nCol,nRow:inte ger;var A:TArr);
var i,j,k,n,cnt,l:integer;
begin
cnt:=0;
for i:=1 to nCol do
begin
inc(cnt);
A[cnt]:=M[1,i];
end;
for j:=2 to nRow do
begin
inc(cnt);
A[cnt]:=M[j,nCol];
end;
for k:=1 to nCol-1 do
begin
inc(cnt);
A[cnt]:=M[nRow,k];
end;
for n:=2 to nRow-1 do
begin
inc(cnt);
A[cnt]:=M[n,1];
end;
for l:=1 to cnt do
begin
A[l]:=Cifr(A[l]);
end;
end;
dima-intro вне форума Ответить с цитированием
Старый 21.12.2010, 21:33   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

а можно весь код
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 21:36   #3
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Бред, если это ваши исходники, то кое где написав k := k + (n mod 10) вместо вашего k := k + 1 вы бы получили сумму цифр.
Не нужно никого обманывать. Мы не лохи тут, всё понимаем. Откуда и чей это код.
mMAg вне форума Ответить с цитированием
Старый 21.12.2010, 21:38   #4
dima-intro
Пользователь
 
Аватар для dima-intro
 
Регистрация: 11.12.2010
Сообщений: 43
По умолчанию

Да,конечно.


unit UnitMatrDop;

interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, ExtCtrls;
type TMatr=array[1..10,1..10]of integer;
TArr=array[1..100]of integer;

procedure MakeMatrWithRandom(var M:TMatr;nCol,nRow:integer);
procedure ShowMatrInSG(const M:TMatr;nCol,nRow:integer;StringGri d1:TStringGrid);
procedure GetMatrFromSG(var M:TMatr;var nCol,nRow:integer;StringGrid1:TStri ngGrid);
procedure OborotVertical(var M:TMatr; nCol,nRow:integer);
procedure ElementToArr(M:TMatr;nCol,nRow:inte ger;var A:TArr);
procedure ShowArrInMemo(const A:TArr;Memo1:TMemo;nCol,nRow:intege r);
function Cifr(n:integer):integer;
procedure KoorEl (e:integer;var M:TMatr; nCol,nRow:integer;StringGrid1:TStri ngGrid; var i1,j1:integer);

implementation

procedure MakeMatrWithRandom(var M:TMatr;nCol,nRow:integer);
var i,j:integer;
begin
randomize;
for i:=1 to nRow do
for j:=1 to nCol do
M[i,j]:=random(26);
end;

procedure ShowMatrInSG(const M:TMatr;nCol,nRow:integer;StringGri d1:TStringGrid);
var i,j:integer;
begin
StringGrid1.ColCount:=nCol;
StringGrid1.RowCount:=nRow;
for i:=1 to nRow do
for j:=1 to nCol do
StringGrid1.Cells[j-1,i-1]:=inttostr(M[i,j]);
end;

procedure GetMatrFromSG(var M:TMatr;var nCol,nRow:integer;StringGrid1:TStri ngGrid);
var i,k:integer;
begin
nCol:=StringGrid1.ColCount;
nRow:=StringGrid1.RowCount;
for k:=1 to nRow do
for i:=1 to nCol do
M[k,i]:=strtoint(StringGrid1.Cells[i-1,k-1]);
end;

procedure OborotVertical(var M:TMatr; nCol,nRow:integer);
var i,j:integer;
begin
for i:=1 to nRow do
for j:=1 to nCol div 2 do begin
M[i,j]:=M[i,nCol-j+1]+M[i,j];
M[i,nCol-j+1]:=M[i,j]-M[i,nCol-j+1];
M[i,j]:=M[i,j]-M[i,nCol-j+1];
end;
end;



function Cifr(n:integer):integer;
var k:integer;
begin
k:=0;
while n>0 do
begin
k:=k+1;
n:=n div 10;
end;
result:=k;
end;

procedure ElementToArr(M:TMatr;nCol,nRow:inte ger;var A:TArr);
var i,j,k,n,cnt,l:integer;
begin
cnt:=0;
for i:=1 to nCol do
begin
inc(cnt);
A[cnt]:=M[1,i];
end;
for j:=2 to nRow do
begin
inc(cnt);
A[cnt]:=M[j,nCol];
end;
for k:=1 to nCol-1 do
begin
inc(cnt);
A[cnt]:=M[nRow,k];
end;
for n:=2 to nRow-1 do
begin
inc(cnt);
A[cnt]:=M[n,1];
end;
for l:=1 to cnt do
begin
A[l]:=Cifr(A[l]);
end;
end;

procedure ShowArrInMemo(const A:TArr;Memo1:TMemo;nCol,nRow:intege r);
var i:integer;
begin
Memo1.Clear;
for i:=1 to (2*nCol+2*nRow-4) do
Memo1.Lines.Add(inttostr(A[i]));
end;

procedure KoorEl (e:integer;var M:TMatr; nCol,nRow:integer;StringGrid1:TStri ngGrid; var i1,j1:integer);
var i,j:integer;
begin
i1:=0;
j1:=0;
for i:=1 to nRow do
for j:=1 to nCol do
if M[i,j]=e then begin i1:=i;j1:=j;
end;
end;

end.
dima-intro вне форума Ответить с цитированием
Старый 21.12.2010, 21:41   #5
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от mMAg Посмотреть сообщение
Бред, если это ваши исходники, то кое где написав k := k + (n mod 10) вместо вашего k := k + 1 вы бы получили сумму цифр.
Не нужно никого обманывать. Мы не лохи тут, всё понимаем. Откуда и чей это код.
На этом форуме , таких умных студентов 99%
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 21:44   #6
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от dima-intro Посмотреть сообщение
Да,конечно.


...
1. Код желательно заключать в специальные теги
2. тебе уже дали ответ на твой вопрос .
3. Если это не твой код , то сперва разберись в нем сам , а потом проси помощи !

Спасибо !
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 21:47   #7
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Цитата:
Сообщение от andrewpalkin Посмотреть сообщение
На этом форуме , таких умных студентов 99%
Я вкурсе. Если честно, мне больше интересно, он сам найдёт заветную строку, или как и остальному большинству, ему нужно выложить полностью работающий код? )
mMAg вне форума Ответить с цитированием
Старый 21.12.2010, 21:58   #8
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от mMAg Посмотреть сообщение
Я вкурсе. Если честно, мне больше интересно, он сам найдёт заветную строку, или как и остальному большинству, ему нужно выложить полностью работающий код? )
Думаю , что он ждет готовый код ... Может он болел
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
суммы элементов верхней треугольной матрицы ? shark2010 Паскаль, Turbo Pascal, PascalABC.NET 7 16.09.2010 00:10
Рассчет суммы чисел в эдитах по клику на кнопке Артеммм Помощь студентам 20 26.02.2009 00:18
Вычислить и запомнить суммы положительных элементов каждой строки матрицы kiko Паскаль, Turbo Pascal, PascalABC.NET 1 13.12.2008 17:32
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15