Показать полную графическую версию : Pascal | Начинающему программисту
AAALLLEEEXXXXX
26-12-2006, 14:36
Привет!
Плиз, помогите программу написать в Паскале
Нужна уже сегодня, 26 декабря, либо завтра утром, а то зачет не поставит. Я из Политеха, ДВС. С меня пиво...
Программа:
Составить прогу для ввода, обработки и печати массивов(1 и 2-х мерных).
Дана действительная матрица (Мхn) n,m<=10. В каждой строке матрицы сделать изменения: каждый положительный элемент заменить суммой предшествующих ему в этой строке положительных элементов и подсчитать число таких замен.
Эту программу следует выполнить через процедуры ввода и вывода.
Ребята, надежда только на вас!!! Нужна сегодня же!!!... В долгу не останусь!!!
Данную задачу можно организовать следующим кодом
Program DvoynoyMassive;
Const
n=10;m=10; {задаём размерности, в данном случае 10Х10}
Var
mass:array [1..n,1..m] of integer; {объявляем массив целых чисел, с нумерацией с единицы}
a,b,c,d,i,sum,csum:integer; {разные переменные, походу будут нужны}
Procedure input;
Begin
For a:=1 to n do begin
For b:=1 to m do begin
Read(mass[a,b]); end; end; {читаем элементы с клавиатуры, при размерности 10х10 сто раз надо будет вбить цифры}
end;
Procedure output;
Begin
For a:=1 to n do begin
For b:=1 to m do begin
Write(' ',mass[a,b]); end; {выводим элементы на экран}
Writeln end;
end;
Begin
sum:=0;csum:=0;c:=0;
Write('Enter the elements of massive: ');
input;
Writeln('--------------------------source massive-------------------------');
output;
For a:=1 to n do begin
For b:=1 to m do begin
If (b>2) then
If (mass[a,b]>0) then
If (mass[a,b-1]>0) and (mass[a,b-2]>0)then begin
mass[a,b]:=mass[a,b-1]+mass[a,b-2];
c:=c+1; end
Else begin
For i:=1 to b-1 do begin
d:=mass[a,b-i];
if d>0 then
begin
sum:=d+sum;
csum:=csum+1;
end;
if csum>1 then
begin csum:=0;
Break;
end;
end;
if sum>0 then
begin
mass[a,b]:=sum;
c:=c+1;
sum:=0;
end;
end;
end;end;
Writeln('--------------------------destiny massive------------------------');
output;
Write('The number of changing is ',c);
End.
Если масив хХ2 то никаких замен не будет, так как всего два элемента на строчку.
Результат выполнения программы (ВНИМАНИЕ! Для массива 2х5, а то 100 елементо не охота вбивать.)
Enter the elements of massive: 1 2 4 -456 5 2345 5 -567 68 34 -32
--------------------------source massive-------------------------
1 2 4 -456 5
2345 5 -567 68 34
--------------------------destiny massive------------------------
1 2 3 -456 5
2345 5 -567 2350 2355
The number of changing is 4
Удачной сдачи!
AAALLLEEEXXXXX
26-12-2006, 17:34
Большое спасибо! Ты откуда сам?
AAALLLEEEXXXXX
26-12-2006, 18:20
Найти приближенно с точностью h min функции:
f(x)=ax2+bx+c на отрезке x2>=x>=x1.
x1,x2,a,b,c,h – заданы.
Требуется вычислить последовательно значение заданной функции от x1 с шагом h, пока не будет выполняться условие, требуемое в задаче.
MickeyMouse
26-12-2006, 18:47
Мля, программа для 10 класса
AAALLLEEEXXXXX
26-12-2006, 19:23
1).Найти приближенно с точностью h min функции:
f(x)=ax2+bx+c на отрезке x2>=x>=x1.
x1,x2,a,b,c,h – заданы.
Требуется вычислить последовательно значение заданной функции от x1 с шагом h, пока не будет выполняться условие, требуемое в задаче.
2). Составить прогу для ввода, обработки и печати массивов(1 и 2-х мерных).
Дана действительная матрица (Мхn) n,m<=10. В каждой строке матрицы сделать изменения: каждый положительный элемент заменить суммой предшествующих ему в этой строке положительных элементов и подсчитать число таких замен.
AAALLLEEEXXXXX
26-12-2006, 20:11
Как там новую тему задавать?
На Исходниках"
Diseased Head
26-12-2006, 21:09
AAALLLEEEXXXXX
Может функция так пишется: f(X)=a*X^2 + b*X + c. Где: X^2 - возведение X в квадрат.
Diseased Head
26-12-2006, 21:25
x1, x2 и h - дробные или целые числа?
Diseased Head
26-12-2006, 21:50
Да и про: a, b и c - тоже не уверен.
Мля, программа для 10 класса
Это точно.
А если верить новым школьным программам, то класса 6-7.
Mickey Mouse
тебе поможет. Бан до января за бурную фантазию.
MickeyMouse
27-12-2006, 13:31
Это я как, понимаю ко мне обращение было.
Я преподаю программирование, но честно говоря писать полностью программу - не вижу в этом никакого смысла.
Если есть вопросы где - что не получается - то всегда пожалуйста: приводишь фрагмент кода своей программы, я укажу в чем ошибка...
А так получается - ты мне ее реши, а я ее сдам...
dmitryst
27-12-2006, 13:39
MickeyMouse Дык, забанили его... Отмучался :lol:
MickeyMouseЕсли есть вопросы где - что не получается - то всегда пожалуйста: приводишь фрагмент кода своей программы, я укажу в чем ошибка...
очень правильная позиция. Была б еще серьезная задача - сам бы, глядишь, поучаствовал. А простейшие вещи надо как минимум попытаться решить, а не халявничать.
ППКС.....
а потом такие вот "специалисты" выпускаются........
народ, помогите плиз исправить ошибку в коде
Program pp3;
type
rec=record
name:string[11];
stoim:integer;
izn:integer;
end;
t=array[1..10] of rec;
p=array[1..10] of real;
var
A:t;
B:p;
tInp,tOut:text;
c:char;
i:byte;
temp:file of rec;
procedure pr (var M:t; var N:p; i:integer);
begin
N[i]:=M[i].stoim-M[i].stoim/100*M[i].izn;
end;
begin
assign (tInp, 'dan.txt');
reset (tInp);
assign (tOut, 'res.txt');
rewrite (tOut);
assign (temp, 'temp.txt');
rewrite (temp);
for i:=1 to 10 do
begin
readln (tInp, A[i].name, A[i].stoim, c, A[i].izn);
write (temp, A[i]);
end;
close (temp);
reset (temp);
for i:=1 to 10 do
begin
read (temp, A[i]);
writeln (tOut, A[i].name, A[i].stoim, c, A[i].izn);
end;
writeln (tOut, '**************************');
for i:=1 to 10 do
begin
pr (A,B,i);
writeln (tOut, A[i].name:10, ' - ', B[i]:7:2, ' rub.');
end;
close (tInp);
close (tOut);
close (temp);
end.
вылетает ошибка ввода/вывода 106
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.