Тема: Procedure
Допоможіть з програмкою, будь ласка.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Pascal/Delphi → Procedure
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
«Допоможіть з програмкою» і «напишіть за мене все» — не одне й те ж
Я не знаю куда і як записати процедуру
Викладайте код не в вигляді скріншотів, а як текст, виділивши його тегом [code][/code].
Опис процедури можна розмістити після оголошення змінних перед begin основної програми.
Її виклик — у тілі основної програми (тобто, десь між begin та end).
Не дуже розумію, що собою символізують літери К в завданні (це трикрапки так відобразились?) Очевидно, процедура має отримувати параметр-змінну типу array[1..8][1..8] of integer (точніше, цей тип треба попередньо описати в секції type) й параметр x зі списком вхідних коефіцієнтів. Тобто, має бути приблизно так:
type
matrix=array[1..8, 1..8] of integer;
vector=array[1..8] of integer;
//оголошення змінних основної програми
procedure fill(var m:matrix; x:vector);
//оголошення локальних змінних процедури
begin
//тіло процедури
end;
begin
//тіло основної програми
end.
begin
PS Перепрошую, давно не писав на паскалі. Виправлення в рядку 2 — двовимірні масиви оголошуються так
Там в умові замість К має бути крапка.
type
matrix=array[1..8] of integer;
vector=array[1..8] of integer;
//оголошення змінних основної програми
begin
procedure fill(var x:matrix; y:vector);
//оголошення локальних змінних процедури
var
i,j,n:integer;
begin
//тіло процедури
for i:=1 to 8 do
begin
read(x[i]);
y[i] :=1;
end;
begin
//тіло основної програми
for i := 1 to 8 do
begin
for j:=1 to 8 do
begin
y[j] :=y[j] * x[i];
write(y[j]:6:2, '')
end;
end;
writeln('');
readln;
end;
end.
Чого не PascalABC не робить?
Але дуже гарно дякую!!!!!!!!!!!
Чого не PascalABC не робить?
Якщо хочете, щоб вам допомогли - розписуйте проблему конкретно. "Не робить" - це коли у вас в районі електрику вимкнули. Конкретно - які повідомлення про помилки, на якому рядку? З імовірністю 80% просто складання такого питання призведе вас до відповіді самостійно.
Ви не зрозуміли ідею. У процедурі має бути не ввід даних з клавіатури (це можна зробити в основній програмі), а заповнення двовимірного масиву обчисленими значеннями. Крім того, ви її ніде не викликаєте, а через чортзна-як розміщені begin та end у неї потрапило й тіло програми. І зробіть щось із відступами.
Має бути щось таке:
type
matrix=array[1..8, 1..8] of integer;
vector=array[1..8] of integer;
//оголошення змінних основної програми
var
i,j: integer;
y:matrix;
x:vector;
procedure fill(var y:matrix; x:vector);
//оголошення локальних змінних процедури
var
i,j,n:integer;
begin //тіло процедури
for i := 1 to 8 do
begin
for j:=1 to 8 do
begin
y[i,j] :=y[i,j] * x[i];//тут доробите самі
end;
end;
end;
begin //тіло основної програми
//ввід:
for i:=1 to 8 do
begin
read(x[i]);
//y[i] :=1; - цей рядок зайвий
end;
fill(y,x);//виклик процедури
//вивід:
for i := 1 to 8 do
begin
for j:=1 to 8 do
begin
write(y[j]:6:2, '')
end;
writeln('');
end;
readln;
end.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися