Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Pascal | Начинающему программисту (http://forum.oszone.net/showthread.php?t=76736)

AAALLLEEEXXXXX 26-12-2006 14:36 529309

Очень срочно!!! Пожалуйста, помогите с Pascal
 
Привет!
Плиз, помогите программу написать в Паскале
Нужна уже сегодня, 26 декабря, либо завтра утром, а то зачет не поставит. Я из Политеха, ДВС. С меня пиво...

Программа:
Составить прогу для ввода, обработки и печати массивов(1 и 2-х мерных).

Дана действительная матрица (Мхn) n,m<=10. В каждой строке матрицы сделать изменения: каждый положительный элемент заменить суммой предшествующих ему в этой строке положительных элементов и подсчитать число таких замен.

Эту программу следует выполнить через процедуры ввода и вывода.

Ребята, надежда только на вас!!! Нужна сегодня же!!!... В долгу не останусь!!!

Admiral 26-12-2006 17:01 529355

Данную задачу можно организовать следующим кодом
Код:

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 елементо не охота вбивать.)
Цитата:

Цитата 2xArray.exe
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 529378


Большое спасибо! Ты откуда сам?

AAALLLEEEXXXXX 26-12-2006 18:20 529402

Еще раз о дружбе и взаимопомощи... Прога в PASCALe
 
Найти приближенно с точностью h min функции:


f(x)=ax2+bx+c на отрезке x2>=x>=x1.

x1,x2,a,b,c,h – заданы.

Требуется вычислить последовательно значение заданной функции от x1 с шагом h, пока не будет выполняться условие, требуемое в задаче.

MickeyMouse 26-12-2006 18:47 529414

Мля, программа для 10 класса

AAALLLEEEXXXXX 26-12-2006 19:23 529427

Mickey Mouse, помоги с PASCALem? Люди добрые, хелп...
 
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 529440

Как там новую тему задавать?

На Исходниках"

Diseased Head 26-12-2006 21:09 529453

AAALLLEEEXXXXX
Может функция так пишется: f(X)=a*X^2 + b*X + c. Где: X^2 - возведение X в квадрат.

Diseased Head 26-12-2006 21:25 529458

x1, x2 и h - дробные или целые числа?

Diseased Head 26-12-2006 21:50 529466

Да и про: a, b и c - тоже не уверен.

Admiral 26-12-2006 23:47 529524

Цитата:

Мля, программа для 10 класса
Это точно.
А если верить новым школьным программам, то класса 6-7.

[mzd] 27-12-2006 08:57 529609

А давайте без флуда!

ShaddyR 27-12-2006 10:26 529643

Цитата:

Mickey Mouse
тебе поможет. Бан до января за бурную фантазию.

MickeyMouse 27-12-2006 13:31 529741

Это я как, понимаю ко мне обращение было.
Я преподаю программирование, но честно говоря писать полностью программу - не вижу в этом никакого смысла.
Если есть вопросы где - что не получается - то всегда пожалуйста: приводишь фрагмент кода своей программы, я укажу в чем ошибка...
А так получается - ты мне ее реши, а я ее сдам...

dmitryst 27-12-2006 13:39 529747

MickeyMouse Дык, забанили его... Отмучался :lol:

ShaddyR 27-12-2006 14:24 529765

MickeyMouse
Цитата:

Если есть вопросы где - что не получается - то всегда пожалуйста: приводишь фрагмент кода своей программы, я укажу в чем ошибка...
очень правильная позиция. Была б еще серьезная задача - сам бы, глядишь, поучаствовал. А простейшие вещи надо как минимум попытаться решить, а не халявничать.

XCodeR 28-12-2006 00:49 529971

ППКС.....

а потом такие вот "специалисты" выпускаются........

Donald 27-10-2010 13:50 1528600

народ, помогите плиз исправить ошибку в коде

Цитата:

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


Время: 14:28.

Время: 14:28.
© OSzone.net 2001-