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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2008, 08:12   #1
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию Одномерный массив. Сумма кубов

[I]Найти сумму кубов всех отрицательных элементов массива A={a[i]}.[/I(Задав одномерный массив целочисленных данных А в одном из заданных форматов (Byte, Word, Shortint, Integer или Longint), реализовать обработку массива, как указано в варианте. Длина массива N <= 20. Исходные данные задать самостоятельно, учитывая формат элементов массива A. Исходные данные должны вводиться с проверкой на область допустимых значений. Тип результата определяется из контекста задачи.)

Я начал делать, у меня вышло:

uses crt;
const
n=20;
Var
a:array [1..n] of integer;
b : integer;
Begin
clrscr;
randomize;
for i:=1 to n do
begin
a[i]:= random(21)-10;
write(a[i]:4);
end;
if a[i]<0 then
???????????????????????

Дальше нужно возвести один отрицательный элемент массива в куб, и потом инкрементой оставшиеся и найти их сумму... Как это записать не могу...
Xeon332 вне форума Ответить с цитированием
Старый 11.01.2008, 08:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
...
for i:=low(a) to high(a) do 
if a[i]<0 then begin
 summa:=summa+a[i]*a[i]*a[i]
end;
...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.01.2008, 10:27   #3
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
...
for i:=low(a) to high(a) do 
if a[i]<0 then begin
 summa:=summa+a[i]*a[i]*a[i]
end;
...
спасибо! то есть получается в этой процедуре значения "а"
принимаются от низкого к высокому до нуля?
возник попутно вопрос: почему данные уже в готовом виде не выводятся на экран? когда проверяю работоспособность проделаннго - выводится только таблица случайных значений...
Xeon332 вне форума Ответить с цитированием
Старый 11.01.2008, 14:30   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Чтобы обработанный массив вывести на экран, это тоже надо написать почти также, как ты писал для исходного массива
for i:=1 to n do
write(a[i]:4);
readln
end.
puporev вне форума Ответить с цитированием
Старый 11.01.2008, 14:58   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
значения "а"
принимаются от низкого к высокому до нуля?
Ну я просто не увидел границы массива, потому так и написал.
если хош то : for i:=1 to n do
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.01.2008, 21:08   #6
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

вроде всё правильно, но в результате случайным образом массив состоит всегда из нолей....
Код:
uses crt;
const
n=20;
Var
  a:array [1..n] of integer;
  i, summa: integer;
Begin
  Clrscr;
    Randomize;
for i:=1 to n do
write(a[i]:4);
if a[i]<0 then
 begin
   summa:=summa+a[i]*a[i]*a[i];
   inc(a[i]);
   writeln;
   readln;
 end;
readkey;
end.
Xeon332 вне форума Ответить с цитированием
Старый 12.01.2008, 21:22   #7
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Какой хитрый... неплохобы массив заполнить....

Цитата:
Randomize;

For i := 1 To n Do
Begin
a[i] := Random(10); //указываешь рандомное число
Write (a[i]:4,' ');
End;

if a[i] < 0 then
begin ...........
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 12.01.2008, 21:47   #8
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

спасиб)) проглядел..
Xeon332 вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив ldx Паскаль, Turbo Pascal, PascalABC.NET 4 06.06.2008 17:45
VBA. Одномерный массив ExMatiss Microsoft Office Excel 9 07.05.2008 05:57
одномерный массив fatdog Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 23.02.2008 10:05
Массив Одномерный flait111 Помощь студентам 3 15.12.2007 14:08
Одномерный массив SkyDreamer Помощь студентам 1 01.12.2007 21:22