Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 782

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Пишу программу которая создает рандомный массив...
Создать одномерный массив M[1..n]. Заполнить массив случайными целыми числами в диа-пазоне [a,b] с помощью функции Random(x).
Найти сумму и произведение каждого 3-его элемента в массиве (т.е. 3, 6, 9, 12 и т.д. элементы), а также минимальное значение среди четных и максимальное значение среди нечетных элементов масси-ва.
Сумма .... ... ... ... ... ... = ХХХХХХХХ
Произведение . ... ... ... ... = ХХХХХХХХ
Минимум .. ... ... ... ... ... = ХХХХХХХХ
Максимум . ... ... ... ... ... = ХХХХХХХХ

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1.  


Feniks257 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Feniks257 (статус: Посетитель)
Вопрос отправлен: 26 ноября 2011, 22:40
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 27 ноября 2011, 13:58; участников в обсуждении: 3.
min@y™

min@y™ (статус: Доктор наук), 27 ноября 2011, 09:18 [#1]:

Цитата (Feniks257):

чето не пойму как сделать каждые 3-ие символы...

for Index:= 1 to N do
  if Index mod 3 = 0
    then ... ;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Feniks257

Feniks257 (статус: Посетитель), 27 ноября 2011, 11:50 [#2]:

спасибо)))))))))) :-)
Feniks257

Feniks257 (статус: Посетитель), 27 ноября 2011, 12:02 [#3]:

У меня всеравно не считает каждые 3-ие символы...

procedure TForm1.BitBtn1Click(Sender: TObject);
 var
    i:integer;
    str:string;
//Найти сумму и произведение каждого 3-его элемента в массиве (т.е. 3, 6, 9,
//12 и т.д. элементы),
//а также минимальное значение среди
//четных и максимальное значение среди нечетных элементов масси-ва.
//1,30,9
 begin
  a:=StrToInt(Edit1.Text);
  b:=StrToInt(Edit2.Text);
  sum:=0;
  p:=1;
  randomize;
  for i:=1 to n do m[i]:=a+random(b-a+1);
  min:=m[1];
  max:=m[1];
 
   for i:=1 to n do
  begin
 
  if m[i] mod 3 = 0 then
    begin
      sum:=sum+m[i]; // сумма каждых 3-их элементов
      p:=p*m[i];     // произведение каждых третьих
    end;
 
    if m[i] mod 2<>0 then  //нечетные
    begin
     max:=m[i];            // max нечет
    end
    else
    begin
    if m[i]<min  then min:=m[i];    //min чет
  end;
  end;
  for i:=1 to n do
  begin
     str:=str+' '+ IntToStr(m[i]);
  end;
  begin
       while length(str)<45 do str:=str+' ';
       str:=str+' '+IntToStr(sum);
       while length(str)<70 do str:=str+' ';
       str:=str+' '+IntToStr(p);
       while length(str)<110 do str:=str+' ';
       str:=str+' '+IntToStr(min);
       while length(str)<139 do str:=str+' ';
       str:=str+' '+IntToStr(max);
       mmOut.Lines.Add(str);
  end;
end;
 
 
end.
Толяныч

Толяныч (статус: 4-ый класс), 27 ноября 2011, 13:58 [#4]:

.....ть !

при чем тут if m[i] mod 2 ?! Сказано ведь русским по белому :

if (Index mod 2) = 0 // т.е. i mod 2 , не m[i] !

Сам параметр цикла проверяется, индекс элемента массива, а не его значение !

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:39
Выполнено за 0.03 сек.