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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2012, 21:23   #11
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
С точки зрения математики фраза "массива длиной N" говорит о том, что массив конечен.
Вы видели бесконечные массивы?
Цитата:
...ибо процедура ничего не возвращает.
Код:
procedure a(var b : boolean);
begin
  b := TRUE;
end;
Не?
s-andriano вне форума Ответить с цитированием
Старый 18.05.2012, 21:57   #12
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Я могу найти 100500 тем на этом форуме где в задачах фигурируют буквы, которые указывает размер массива и где не применяют динамический массив, ибо как я уже и сказал эти буквы не подразумевают динамический массив в явном виде.

Цитата:
Задан двумерный массив целых чисел А размером N на M. найти максимальный элемент и поменять его местами с A[1,1].
http://www.programmersforum.ru/showt...E0%F1%F1%E8%E2

Цитата:
Задан двумерный массив целых чисел А размером N на M, состоящий из положительных и отрицательных чиселю Найти количество отрицательных элементов этого массива делящихся на 2 , и их сумму.( решить матрицей)
http://www.programmersforum.ru/showt...E0%F1%F1%E8%E2

и т.д.

Цитата:
Не?
Ну а это вообще рукалицо. Я просто приведу типичную фразу из книги:

Цитата:
Процедура Delphi просто выполняет требуемые операции, но никаких результатов своих действий не возвращает. Результат - в тех изменениях, которые произошли в программе в процессе выполнения этой процедуры. В частности, процедура может поменять значения переменных, записать новые значения в ячейки компонентов, сделать запись в файл и т.д.
Ну или придётся переписать историю (с)
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 18.05.2012, 22:11   #13
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
наверно потому, что
а тут что
в процесе работы алгоритма проги массив меняет свою длинну ?
длинна постоянна в процессе сего кода, значит длинна одномерного массива задается в начале кода, значит это - Статический массив, точка
как-то так

Последний раз редактировалось Arhangel7; 18.05.2012 в 22:14.
Arhangel7 вне форума Ответить с цитированием
Старый 18.05.2012, 22:40   #14
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Я могу найти 100500 тем на этом форуме где в задачах фигурируют буквы, которые указывает размер массива и где не применяют динамический массив, ибо как я уже и сказал эти буквы не подразумевают динамический массив в явном виде.
Так с этим никто не спорит.
Просто попытались высказать некоторые предположения, каким образом в данной задаче использовать то, что заявлено в названии темы.
И обратили внимание на то, что требование ввода имени файла пользователем говорит как раз в пользу сделанных предположений.
s-andriano вне форума Ответить с цитированием
Старый 18.05.2012, 23:19   #15
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
длинна постоянна в процессе сего кода, значит длинна одномерного массива задается в начале кода, значит это - Статический массив, точка
Не спорю!Вы правы!
Но с другой стороны если всё таки не ясно чему равно N и собственно как говорили выше это константа или переменная, ИМХО лучше использовать динамику.
Цитата:
Длина постоянна
Да! Но чему Она равна? Это не известно!
Поэтому ИМХО городить вот такое
Код:
var
const
  Nmax = 100;
var
  a: array[1..Nmax] of integer;
  N, i: integer;
begin
  ReadLn (N); {ПРИЧЁМ ТУТ ЕЩЁ И ПРОВЕРЯТЬ НАДО}
  for i := 1 to N do
    Read(a[i]);
end.
не целесообразно!
Ибо всё таки с делфи имеем дело, которая умеет работать с дин. массивами!
НО КАК Я СКАЗАЛ, Это моё мнение!
ну и не будем забывать название темы!

+ ко всему
2Valio
Про анализировав ваши ссылки, которые вы предоставили
в качестве
Цитата:
Я могу найти 100500 тем на этом форуме где в задачах фигурируют буквы, которые указывает размер массива и где не применяют динамический массив, ибо как я уже и сказал эти буквы не подразумевают динамический массив в явном виде.
Могу вам сказать, что собственно они и не могли подразумевать динамику
ибо писать просили под паскаль и как я понимаю под TURBO а в нём НЕТ динамических массивов!!
Возможно что под FPC но... чётко не указано! А поэтому лучше перестраховаться!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 19.05.2012 в 11:30.
Hacker19_90 вне форума Ответить с цитированием
Старый 19.05.2012, 00:46   #16
qwe1qwe2qwe3
Пользователь
 
Регистрация: 16.05.2012
Сообщений: 10
По умолчанию

Так может кто нибудь помочь?
qwe1qwe2qwe3 вне форума Ответить с цитированием
Старый 19.05.2012, 09:27   #17
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от qwe1qwe2qwe3 Посмотреть сообщение
Так может кто нибудь помочь?
Неужели самого факта наличия двух страниц обсуждения недостаточно, чтобы понять, что Вы неясно сформулировали условие задачи?
s-andriano вне форума Ответить с цитированием
Старый 19.05.2012, 10:40   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как я понимаю под TURBO а в нём динамики НЕТ!
Есть. Еще какая. Просто ты не умеешь работать с указателями.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2012, 11:21   #19
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Есть. Еще какая. Просто ты не умеешь работать с указателями.
Не правильно выразился!
Под этими словами я имел ввиду того, что в TP7 нет динамических массивов!
(нет их можно получить путём хитрых манипуляций) НО! подобных делфи в ТП нет!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.05.2012, 13:28   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Други! Автору топика нужно решение в Delphi.
Чего вас в сторону ТурбоПаскаля понесло ?!

я лично считаю, что автору топика абсолютно НЕ НУЖНЫ динамические массивы.
но, раз уж он так их хочет, неужели это ПРИНЦИПИАЛЬНО меняет решение?!

вместо
Код:
const N = 1000;
type
  TMyArray = array[0..N-1] of integer;

var
  Ar1 : TMyArray;

<что-то делаем с массивом Ar1>
написать
Код:
type
  TMyArray = array of integer;

var
  N : integer;
  Ar1 : TMyArray;
begin
   Взять N откудаУгодно! например, для консоли:
   WriteLn('Введите размер массива N');
   Readln(N);

   SetLength(Ar1, N);

<что-то делаем с массивом Ar1>
зачем столько копий сломано в этой теме?!!

ну и сорри за оффтоп!
Цитата:
Сообщение от Hacker19_90
ибо писать просили под паскаль и как я понимаю под TURBO а в нём НЕТ динамических массивов!!
Цитата:
Сообщение от Stilet
Есть. Еще какая. Просто ты не умеешь работать с указателями.
мы с s-andriano в личке четыре дня (около 9 сообщений с каждой стороны) дискутировали, есть в ТурбоПаскаль динамические массивы, или нет.
кратенько о доводах:
я утверждал, что нет - а хакерские трюки, когда объявляется указатель на массив и дальше работа идёт через этот указатель - это не наличие динамических массивов в языке. А коллега s-andriano утверждал, что раз память выделяется динамически (это бесспорно), то все переменные, размещённые в этой памяти - динамические. И следовательно, подобные методы ничуть не хакерские и вполне себе даже повсеместно использовались на практике (в реальных программных реализациях на TP).


p.s. to s-andriano,
говорил же, надо в паблике было обсуждать проблему.. Уже не первый раз этот диспут возникает...

Последний раз редактировалось Serge_Bliznykov; 19.05.2012 в 13:35.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
."Динамические массивы" в Delphi qwe1qwe2qwe3 Помощь студентам 1 17.05.2012 10:21
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04