Ярославль


Страницы: (5) « Первая ... 2 3 [4] 5   ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

Нужен человек для программирования в Delphi.

Имя Пользователя
Дата 16.04.2011 - 21:53
Цитировать сообщение




Unregistered












Цитата (Опиум @ 16.04.2011 - 12:47)
Компиляторы "краснеют".
данное выражение [upd - "компиляторы не краснеют", которое явно происходит от "бумага не краснеет"] в принципе отражает беспринцЫпность и отсутствие всякого намёка на совесть... компилятор смотрит чисто на правильность синтаксиса... если программа составлена верно: ему не интересно что она делает, для каких целей и кем написана, как там сохраняется копирайт и прочая ерунда...краснеет он только за ошибки в последовательностях "0" и "1" - остальное ему неинтересно...)) так что "по сути" фраза не теряет своей истинности...))

пользуясь случаем - как там топик-стартёр - прогрыз дыру в граните исходного кода...?))

Это сообщение отредактировал Имя Пользователя - 16.04.2011 - 22:01
Top
Mef
Дата 17.04.2011 - 10:48
Цитировать сообщение




Unregistered












Намекните в чем ошибка.
Задание 4
Одномерные массивы и указатели
Массив должен быть динамическим.
В одномерном массиве, состоящем из n целочисленных элементов, вычислить:
• номер максимального элемента;
• произведение элементов массива, расположенных между первым и вторым нуле-выми элементами.

procedure TForm1.Button1Click(Sender: TObject);
const
N = 15;
var
a:array[1..N]of integer;
max:integer;
i:integer;
begin
for i:=1 to 10 do
a[i]:=StrToInt(StringGrid1.Cells[i-1,0]);
max:=1;
for i:=-2 to 10 do
if a[i]> a[max]then max:=i;
label2.caption:= 'Максимальный элемент массива:'+IntToStr(a[max])+#13+'Номер элемента:'+IntToStr(max);
end;

procedure TForm1.Button2Click(Sender: TObject);
const
N = 15;
var
m1,m2,i:integer;
a:array[0..N]of integer;
begin
m1:=a[0];
m2:=a[1];
for i:=2 to n-1 do
if i mod 2 = 0 then m1:=m1*a[i]
else m2:=m2*a[i];
m2:=StrToInt(Label3.Caption);
end;
end.

Top
Опиум
Дата 17.04.2011 - 20:55
Цитировать сообщение




86₽/$
********

Профиль
Группа: Пользователи
Сообщений: 102941
Пользователь №: 7415
Регистрация: 8.04.2006 - 14:37





200р
PM
Top
Имя Пользователя
Дата 17.04.2011 - 21:48
Цитировать сообщение




Unregistered












в первой процедуре индекс цикла FOR неправильно идёт...
вторая процедура и второе задание - вообще разные вещи (гугли дальше)..))

Это сообщение отредактировал Имя Пользователя - 17.04.2011 - 21:50
Top
Опиум
Дата 17.04.2011 - 21:58
Цитировать сообщение




86₽/$
********

Профиль
Группа: Пользователи
Сообщений: 102941
Пользователь №: 7415
Регистрация: 8.04.2006 - 14:37





Имя Пользователя а разве простую человеческую логику можно нагуглить?
в яндексе
PM
Top
Опиум
Дата 17.04.2011 - 22:09
Цитировать сообщение




86₽/$
********

Профиль
Группа: Пользователи
Сообщений: 102941
Пользователь №: 7415
Регистрация: 8.04.2006 - 14:37





Цитата (Mef @ 17.04.2011 - 11:48)
Массив должен быть динамическим.

и где он?
PM
Top
Имя Пользователя
Дата 17.04.2011 - 23:15
Цитировать сообщение




Unregistered












Опиум
Цитата
а разве простую человеческую логику можно нагуглить?
это путь топик-стартёра...пусть играется с антивирусом...))

Цитата
и где он?

наверное имеется в виду
Цитата
const N = 15;
это и есть "динамизм" массива... biggrin.gif
Top
Dimm_yar
Дата 19.04.2011 - 12:29
Цитировать сообщение




Unregistered












вторая процедура пытается вычислить произведение четных и нечетных эл-тов массива (списано из другого варианта), и то с ошибками
Top
Mef
Дата 19.04.2011 - 18:39
Цитировать сообщение




Unregistered












max:=1;
for i:=0 to high(a)do
if a[i] > a[max] then max:=i;
edit2.Text:=IntToStr(a[max])

нашел максимальный элемент массива ,
edit2.Text:=IntToStr(I) не выходит.
замену делал
nom:= a[i];
a[i] := a[max];
a[max] :=nom;
Выдает какие то левые числа. Дайте подсказку.
Top
Mef
Дата 19.04.2011 - 18:58
Цитировать сообщение




Unregistered












max:=1;
for i:=1 to high(a)do
if a[i]>max then
begin
j:=i;
max:=a[i];
end;
edit2.Text:=IntToStr(j+1)

вот так написал. работает
Top
Mef
Дата 19.04.2011 - 19:00
Цитировать сообщение




Unregistered












исправил. от I:=0 надо было

Это сообщение отредактировал Mef - 19.04.2011 - 19:05
Top
Mef
Дата 19.04.2011 - 20:28
Цитировать сообщение




Unregistered












Объясните пожалуйста , задание под вторым пунктом . где ошибка
var
in1,in2,i,p,z:integer;
begin
p:=1;
for i:=0 to high(a) do
if a[i]=0 then
begin
in1:=i;
end;
for in1:=i to high(a) do
if a[i]=0 then
begin
in2:=z;
end;
for in1:=i+1 to high(z)-1 do
begin
p:=p*a[i];
end;
Top
Имя Пользователя
Дата 19.04.2011 - 21:49
Цитировать сообщение




Unregistered












Цитата (Mef)

max:=1;
for i:=0 to high(a)do
if a[i] > a[max] then max:=i;
edit2.Text:=IntToStr(a[max])


опять неприколочен индекс цикла ... надо так:

max:=0;
for i:=0 to length(a)-1 do
if a[i] > a[max] then max:=i;
edit2.Text:=IntToStr(a[max])


но вообще с такими вопросами надо ещё читать учебники, а не позориться..))
user posted image

Это сообщение отредактировал Имя Пользователя - 19.04.2011 - 22:52
Top
Mef
Дата 19.04.2011 - 23:01
Цитировать сообщение




Unregistered












да мне как то особо не стыдно smile.gif
Да и тем более , получение информации через интернет никто еще не отменял smile.gif
Top
Опиум
Дата 19.04.2011 - 23:02
Цитировать сообщение




86₽/$
********

Профиль
Группа: Пользователи
Сообщений: 102941
Пользователь №: 7415
Регистрация: 8.04.2006 - 14:37





Цитата (Mef @ 19.04.2011 - 21:28)
Объясните пожалуйста , задание под вторым пунктом . где ошибка

везде.
PM
Top

Опции темы Страницы: (5) « Первая ... 2 3 [4] 5  Ответ в темуСоздание новой темыСоздание опроса

 



[ Время генерации скрипта: 0.0109 ]   [ Использовано запросов: 15 ]   [ GZIP включён ]



Яндекс.Метрика

Правила Ярпортала (включая политику обработки персональных данных)

Все вопросы: yaroslavl@bk.ru