Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.10.2011, 23:34
RainbowEyes RainbowEyes вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 9
Версия Delphi: 7
Репутация: 10
Восклицание Delphi 7. Помогите с одномерными массивами

Всем доброго времени суток! Помогите решить одномерные массивы, желательно не в консольном режиме
1) Найти номера всех отрицательных элементов и вывести их на экран. Stringgrid заполняется случайными числами
2)


3)


Заранее благодарю

Последний раз редактировалось RainbowEyes, 19.10.2011 в 23:59.
Ответить с цитированием
  #2  
Старый 20.10.2011, 00:00
Аватар для Delphist
Delphist Delphist вне форума
Новичок
 
Регистрация: 10.12.2010
Адрес: Курган
Сообщения: 68
Репутация: 6002
По умолчанию

Оп-па, а почему не XE или 2010???? Ну если надо на 7 то только через webMany 150$. Потому что одномерные массивы строятся через TRecordStream который не может взаимодействовать на прямую с TStringGrid. Для этого понадобится TCanvas что бы перехватить TShellApi в обработчике событий BithNext
Ответить с цитированием
  #3  
Старый 20.10.2011, 00:08
RainbowEyes RainbowEyes вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 9
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Delphist
Оп-па, а почему не XE или 2010???? Ну если надо на 7 то только через webMany 150$. Потому что одномерные массивы строятся через TRecordStream который не может взаимодействовать на прямую с TStringGrid. Для этого понадобится TCanvas что бы перехватить TShellApi в обработчике событий BithNext
Задания же эти для 1го курса, не думаю, что все настолько сложно
Ответить с цитированием
  #4  
Старый 20.10.2011, 00:15
Аватар для Delphist
Delphist Delphist вне форума
Новичок
 
Регистрация: 10.12.2010
Адрес: Курган
Сообщения: 68
Репутация: 6002
По умолчанию

"Нынче в вузе первый курс вроде магистратууууууурыыыыы!!!!!"
Ответить с цитированием
  #5  
Старый 20.10.2011, 00:30
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Хороший ответ.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #6  
Старый 20.10.2011, 00:46
Аватар для Delphist
Delphist Delphist вне форума
Новичок
 
Регистрация: 10.12.2010
Адрес: Курган
Сообщения: 68
Репутация: 6002
По умолчанию

Люди!!!! Сейчас в универах и для экологов и для дизайнеров что ли программирование преподают??? Вернее только спрашивают, если бы преподавали то бы уж массивы бы знали как "ОТЧЕ НАШ"

Последний раз редактировалось Delphist, 20.10.2011 в 00:55.
Ответить с цитированием
  #7  
Старый 20.10.2011, 03:23
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну ладно издеваться над халявщиком

На этом сайте правило простое.
Если просишь помощи, то для начала приложи свой труд. Покажи, что сделал сам и спрашивай то, что не получается.
Если хочется все и сразу - то в раздел "Работа" со всеми вытекающими...

Теперь по сути.
Задача 1. Просто перебираешь все числа в гриде (for) и если число < 0, то выводишь значение счетчика цикла.
Задача 2. Честно говоря, не понял задание. Что за q???, откуда k (т.е. шаг).
Задача 3. Квадрат числа есть всегда положительное число, т.е. отрицательные нам не годятся. Далее, корень из числа должен быть целым и четным. Если все условия выполнились - то проверяемое число есть квадрат четного числа. ЗЫ. Да, результатом возведения в квадрат четного числа всегда будет четное число, так что часть можно отсеять и на этом условии.

Последний раз редактировалось lmikle, 20.10.2011 в 03:27.
Ответить с цитированием
  #8  
Старый 20.10.2011, 13:40
RainbowEyes RainbowEyes вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 9
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ну ладно издеваться над халявщиком


Задача 1. Просто перебираешь все числа в гриде (for) и если число < 0, то выводишь значение счетчика цикла.
Задача 2. Честно говоря, не понял задание. Что за q???, откуда k (т.е. шаг).
Задача 3. Квадрат числа есть всегда положительное число, т.е. отрицательные нам не годятся. Далее, корень из числа должен быть целым и четным. Если все условия выполнились - то проверяемое число есть квадрат четного числа. ЗЫ. Да, результатом возведения в квадрат четного числа всегда будет четное число, так что часть можно отсеять и на этом условии.
1 задачу я сделал
Код:
procedure TForm1.btn1Click(Sender: TObject);
var A: Array[1..10] of Integer;
    i: Integer;
begin
  randomize;
  for i :=1 to 10 do
  begin
    A[i] := Random(20)-10;
    stringgrid2.cells[i-1,0]:=inttostr(a[i]);
  end;
  for i :=1 to 10 do
       if A[i] < 0 then
      Memo2.Lines.Add(IntToStr(i));
 
end;
end.
а остальные я даже не подозреваю как делать
Ответить с цитированием
  #9  
Старый 20.10.2011, 14:00
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

У тебя в решении первой задачи циклов ровно в два раза больше чем нужно.
Лучше наверно сделать
Код:
A: Array[0..9] of Integer;
for i :=0 to 9 do
и к стринггриду, и к массиву обращаться через индекс один и тот же (везде i без i-1).
__________________
Google в помощь
Ответить с цитированием
  #10  
Старый 20.10.2011, 16:39
RainbowEyes RainbowEyes вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 9
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ildar-tsr
У тебя в решении первой задачи циклов ровно в два раза больше чем нужно.
Лучше наверно сделать
Код:
A: Array[0..9] of Integer;
for i :=0 to 9 do
и к стринггриду, и к массиву обращаться через индекс один и тот же (везде i без i-1).
спасибо переделал.
Помогите с решением двух оставшихся задач. Хотя бы план решения составить
Ответить с цитированием
  #11  
Старый 20.10.2011, 16:59
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Delphist-у зачет

Кстати есть еще один метод:
Спрашивают тебя - как сделать программу чтобы вычислить 2+2=
и в результате получают код на страницы 3)))
PHP код:
x:=1;
y:=4;
a:=x+y/4;
s:=x-a+1;
и т.д.
.....
.....
result:=sqrt(ln(a-1)+x*d-4*(d-ln(44*a+b*b+c)+4)); 

Последний раз редактировалось Konrad, 20.10.2011 в 17:06.
Ответить с цитированием
  #12  
Старый 20.10.2011, 18:04
RainbowEyes RainbowEyes вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 9
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Delphist
Люди!!!! Сейчас в универах и для экологов и для дизайнеров что ли программирование преподают??? Вернее только спрашивают, если бы преподавали то бы уж массивы бы знали как "ОТЧЕ НАШ"
прошло всего полтора месяца с начала обучения в вузе, и да, я не учусь на прогера
Ответить с цитированием
  #13  
Старый 20.10.2011, 19:08
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Всю информацию для третьей задачи я тебе дал. Просто внимательно прочитай. Со второй задачей нет определения q и n (т.е. не понятно откуда их брать, хотя для n могу предположить, что вводится с клавиатуры). Ну а решение - смотри прогрессии - вычисление k-го члена прогресии.
Ответить с цитированием
  #14  
Старый 21.10.2011, 02:16
RainbowEyes RainbowEyes вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 9
Версия Delphi: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Всю информацию для третьей задачи я тебе дал. Просто внимательно прочитай. Со второй задачей нет определения q и n (т.е. не понятно откуда их брать, хотя для n могу предположить, что вводится с клавиатуры). Ну а решение - смотри прогрессии - вычисление k-го члена прогресии.
не получается...
Ответить с цитированием
  #15  
Старый 21.10.2011, 02:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от RainbowEyes
не получается...
Что не получается? Твой код в студию?

Код:
function IsSquareOfEven(N : Integer) : Boolean;
begin
  Result := (N > 0) And                  // квадрат всегда > 0
               ((N mod 2) = 0) And       // квадрат четного числа всегда четный
               (Sqr(Sqrt(N)) = N) And   // кв. корень есть целое число
               ((Sqrt(N) mod 2) = 0);   // кв. корень четный
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter