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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2008, 14:16   #1
ромка)
Пользователь
 
Аватар для ромка)
 
Регистрация: 16.05.2008
Сообщений: 12
Восклицание Ссылочные типы данных. Динамическая память/HELP!!

Составить программы решения задач с применением указателей и динамической памяти (!!!статические переменные не использовать!!!).
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[i]);
S:=0;
End;
Fot i:=1 to 20 do begin
If a[i]>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.

исправте пожалуйста
ромка) вне форума Ответить с цитированием
Старый 22.05.2008, 08:42   #2
ромка)
Пользователь
 
Аватар для ромка)
 
Регистрация: 16.05.2008
Сообщений: 12
По умолчанию

Я вознагражу
ромка) вне форума Ответить с цитированием
Старый 22.05.2008, 09:03   #3
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
(!!!статические переменные не использовать!!!).
До какой степени ?

Код:
const N = 5;
type pinteger = ^integer;
     A5 = array[1..N] of integer;
     PA5 = ^A5;
var
  I:integer;
  s:pinteger;
  A: PA5;
Begin
   new(a); new(s);

   For i :=1 to N do begin
      Writeln('vvedite a[',I,']');
      Readln(a^[i]);
   End;
   S^:=0;
   For i:=1 to N do begin
      If a^[i]>s^ then s^:=I;
   End;
   Writeln('maximalniy element',a^[s^],'index=',s^);

   dispose(A); dispose(s);
   readln;
end.
Вторую по аналогии.
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправте программу.Ссылочные типы данных. Динамическая память ромка) Паскаль, Turbo Pascal, PascalABC.NET 2 30.05.2008 04:24
Текстовый редактор (динамическая память) quf Паскаль, Turbo Pascal, PascalABC.NET 2 21.04.2008 16:59
Динамическая память MadDog__ Помощь студентам 2 22.11.2007 00:05
Типы данных??? Рустам Общие вопросы Delphi 10 08.11.2007 08:03