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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 16:38   #1
endimion11
Новичок
Джуниор
 
Регистрация: 20.04.2010
Сообщений: 3
По умолчанию Задача на Delphi на массивы

Как решить задачу на Delphi: "Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-40,40]. Найти сумму элементов, значения которых по модулю меньше 10".

Последний раз редактировалось endimion11; 20.04.2010 в 16:47.
endimion11 вне форума Ответить с цитированием
Старый 20.04.2010, 16:46   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Код:
Var
  Mass:array of word;
  N,i:word; //от 0 до 65535
  S:real48;
begin
  if Mass<>Nil then Mass:=Nil;
  SetLength(Mass,N);
  S:=0;
  for i:=0 to N-1 do
    begin
      Mass[i]:=random(81)-40;
      if Abs(Mass[i])<10 then S:=S+Mass[i]
    end
end
Примерно так, N можешь вводить череэ Едит...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 20.04.2010 в 17:01.
Grag вне форума Ответить с цитированием
Старый 20.04.2010, 16:48   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что конкретно в задаче ты не знаешь?
Массив наполняется в цикле :=40-Random(80);
А условие для поиска if abs(a[i])<10 then a[i] - нужный элемент.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.04.2010, 16:58   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
Program mas;
uses crt;
var
a,b:array[1..100]of integer;
i,n,sum:integer;
begin
begin
clrscr;
write('Введите количество элементов n=');
read(n);
randomize;
writeln('Исходный массив: ');
for i:=1 to n do
 begin
  a[i]:=40-random(80);
write(a[i],'  ');
end;
sum:=0;
for i:=1 to n do
   if abs(a[i])<10 then
    begin
    sum:=sum+a[i];
  end;
    writeln;
    writeln(sum);
    end;
end.
Цитата:
А что конкретно в задаче ты не знаешь?
Массив наполняется в цикле :=40-Random(80);
А условие для поиска if abs(a[i])<10 then a[i] - нужный элемент.
Видимо этого то он и не знает.ХеХ!!!
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 20.04.2010, 17:02   #5
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

ROMA, ТС пишет, однако...
Цитата:
Сообщение от endimion11 Посмотреть сообщение
Как решить задачу на Delphi:
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 20.04.2010, 17:04   #6
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Ой! Извиняюсь.Ну я думаю переделать то не трудно будет если чё.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 20.04.2010, 17:07   #7
endimion11
Новичок
Джуниор
 
Регистрация: 20.04.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение
Ой! Извиняюсь.Ну я думаю переделать то не трудно будет если чё.
Легко сказать! Мне в этом delphi мало что ясно, поэтому и пришел на форум.
endimion11 вне форума Ответить с цитированием
Старый 20.04.2010, 17:11   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

См. пост #2, я ж тебе там почти все написал... Массив динамический...заполняется рандомно.
Полагаю, что его выводить не надо...хотя при желании можно сляпать StringGrid...
Ввод N через Едит, выводить сумму S можешь хоть через другой Едит, хоть через Label...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 20.04.2010 в 17:13.
Grag вне форума Ответить с цитированием
Старый 20.04.2010, 17:17   #9
endimion11
Новичок
Джуниор
 
Регистрация: 20.04.2010
Сообщений: 3
По умолчанию

Как прописать ввод и вывод?
endimion11 вне форума Ответить с цитированием
Старый 20.04.2010, 17:23   #10
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Допустим на форме у тебя есть Edit1. Тогда ввод размерности массива будет так N:=StrToInt(Edit1.Text);
Вывод суммы: если выводишь ее в другой Едит, то так Edit2.Text:=FloatToStr(S). Если выводишь в какую-нибудь метку, то так
Label1.Caption:=FloatToStr(S)...

Всю байду можно сделать по нажатию кнопки Button1Click, просто весь код засовываешь в обработчик нажатия на кнопку...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив целых чисел.... Ma666oT Помощь студентам 4 01.04.2010 17:13
массив целых чисел -ushёl- Помощь студентам 4 28.02.2009 19:18
массив целых чисел ^SPARTAK^ Паскаль, Turbo Pascal, PascalABC.NET 1 27.12.2008 10:59
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12