Ссылочные типы данных. Динамическая память/помогите исправить
Добавлено: 21 май 2008, 14:20
Составить программы решения задач с применением указателей и динамической памяти (!!!статические переменные не использовать!!!).
1)Напишите программу которая вводит с клавиатуры 20 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет индекс и значение максимального элемента массива. Результат выдаётся на экран пользователя.
2)Дана матрица целых чисел размером 4x4. Определите сумму элементов расположенных выше главной диагонали. Результат вывести на экран монитора.
Вот решение прог без применения дин.памяти и ссылочного типа данных:
1)Uses crt;
Var
I,s:integer;
A:array[1..20] of integer;
Begin
Clrscr;
For i:=1 to 20 do begin
Writeln(‘vvedite a[‘,I,’]’);
Readln(a);
S:=0;
End;
Fot i:=1 to 20 do begin
If a>s then s:=I;
End;
Writeln(‘maximalniy element’,a[s],’index=’,s);
End.
2)Uses crt;
Var I,j,s:integer;
A:array[1..4,1..4] of integer;
Begin
Clrscr;
Randomize;
S:=0;
For i:=1 to 4 do
For j:=1 to 4 do
A[I,j]:=random(10);
For i:=1 to 4 do
For j:=1 to 4 do
Write(a[I,j];writeln;
End;
For i:=1 to 4 do
For j:=1 to 4 do
If i<j then s:=s+a[I,j];
Writeln(‘s=’,s);
End.
исправте пожалуйста
« П
1)Напишите программу которая вводит с клавиатуры 20 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет индекс и значение максимального элемента массива. Результат выдаётся на экран пользователя.
2)Дана матрица целых чисел размером 4x4. Определите сумму элементов расположенных выше главной диагонали. Результат вывести на экран монитора.
Вот решение прог без применения дин.памяти и ссылочного типа данных:
1)Uses crt;
Var
I,s:integer;
A:array[1..20] of integer;
Begin
Clrscr;
For i:=1 to 20 do begin
Writeln(‘vvedite a[‘,I,’]’);
Readln(a);
S:=0;
End;
Fot i:=1 to 20 do begin
If a>s then s:=I;
End;
Writeln(‘maximalniy element’,a[s],’index=’,s);
End.
2)Uses crt;
Var I,j,s:integer;
A:array[1..4,1..4] of integer;
Begin
Clrscr;
Randomize;
S:=0;
For i:=1 to 4 do
For j:=1 to 4 do
A[I,j]:=random(10);
For i:=1 to 4 do
For j:=1 to 4 do
Write(a[I,j];writeln;
End;
For i:=1 to 4 do
For j:=1 to 4 do
If i<j then s:=s+a[I,j];
Writeln(‘s=’,s);
End.
исправте пожалуйста
« П