Другие языки программирования и технологии
Delphi. Сумма индексов положительных (х>0) элементов. +10 даю
помогите такое написать...
Доброго времени суток.
Массив какой, одномерный, двухмерный? Корректно заданный вопрос, это три четверти вероятности получения правильного ответа.
S := 0;
for j:=1 to N do
if A[j] > 0 then S := S + j;
Всего-то и делов. Для двухмерного добавится еще один цикл, а сумма будет считаться так
if A[j,k] > 0 then S := S + j + k;
Удачи!
Массив какой, одномерный, двухмерный? Корректно заданный вопрос, это три четверти вероятности получения правильного ответа.
S := 0;
for j:=1 to N do
if A[j] > 0 then S := S + j;
Всего-то и делов. Для двухмерного добавится еще один цикл, а сумма будет считаться так
if A[j,k] > 0 then S := S + j + k;
Удачи!
уже давно было и не правда.. .
Задаешь массив там проверяешь каждый эл-т на то что больше он нуля или нет, если да то в память сумму индексов этого эл-та и т. п.
Или тебе программный код нужно
Задаешь массив там проверяешь каждый эл-т на то что больше он нуля или нет, если да то в память сумму индексов этого эл-та и т. п.
Или тебе программный код нужно
Роман Бондаренко
да, именно программный код. Если можно...
Аанн нет, не усе так просто как говорит, Gennady! Задачка то с подковыркой - если бы это был приплюснутый С, так оно и есть! - там все массивы индексируются с нуля (к стати почему Генадий решил, что с единицы? тьфу. . хотя действительно +/-0 - какая разница)) , но Генадий забыл, что в семействе паскалей все сложней - там индексация массива может начинаться с любого целого числа, так что правильней будет вот так:
function SumOfIndexes(A: array of integer; Count: integer; First: integer): integer;
var
i : integer;
begin
result := 0;
for i := 0 to Count - 1 do
if A > 0 then result := result + i + first;
end;
перед тобой функция, которую нужно вставить в свободное место в модуле между ключевыми словами implementation и последним end. Она должна находиться выше того места в программе, где ты будешь ее вызывать, или объяви ее в заголовке модуля (спроси у шарящих, кто получает честно хотябы тройки должны это знать)
Модуль должен быть именно тем - в котором ты будешь ее вызывать - она считает сумму индексов положительных элементов любого массива целы чисел (и даже динамического - того, у которого число элементов меняется в ходе выполнения программы)
Функция принимает 3 параметра: это сам массив, далее количество элементов в массиве (проверяй внимательно: ошибешся - хана! Баг страшный - owerflow при чтении, главное тебе ничего не скажет - просто прочитает чужую ячейку памяти и посчитает неправильно, может сказать ERROR: инструкция по адресу ???обратилась по адресу &&&&&&& и т. д.) , далее индекс первого элемента (он прибавляется к счетчику цикла) .
Функция возвращает целое число - сумму, при подсчете учитывается индекс первого элемента.
Для преобразования суммы в текстовый формат для вывода используй функцию IntToStr();
И удачной сделки купли/продажи дипломного проекта!))
function SumOfIndexes(A: array of integer; Count: integer; First: integer): integer;
var
i : integer;
begin
result := 0;
for i := 0 to Count - 1 do
if A > 0 then result := result + i + first;
end;
перед тобой функция, которую нужно вставить в свободное место в модуле между ключевыми словами implementation и последним end. Она должна находиться выше того места в программе, где ты будешь ее вызывать, или объяви ее в заголовке модуля (спроси у шарящих, кто получает честно хотябы тройки должны это знать)
Модуль должен быть именно тем - в котором ты будешь ее вызывать - она считает сумму индексов положительных элементов любого массива целы чисел (и даже динамического - того, у которого число элементов меняется в ходе выполнения программы)
Функция принимает 3 параметра: это сам массив, далее количество элементов в массиве (проверяй внимательно: ошибешся - хана! Баг страшный - owerflow при чтении, главное тебе ничего не скажет - просто прочитает чужую ячейку памяти и посчитает неправильно, может сказать ERROR: инструкция по адресу ???обратилась по адресу &&&&&&& и т. д.) , далее индекс первого элемента (он прибавляется к счетчику цикла) .
Функция возвращает целое число - сумму, при подсчете учитывается индекс первого элемента.
Для преобразования суммы в текстовый формат для вывода используй функцию IntToStr();
И удачной сделки купли/продажи дипломного проекта!))
Похожие вопросы
- Помогите пожалуйста написать программу: Найти сумму индексов четных элементов массива. На языке С++.
- while(!((str[i]>='0'&&str[i]<='9')||str[i]=='\0')) как перевести на человеческий язык это условие? - Язык си
- Дано множество некоторых целых положительных чисел. Найти минимальный элемент множества.
- срочно помогите пожалуйста доделать прогу в delphi!!! дана символьная матрица. подсчитать количество различных элементов
- Что оптимальнее: if(a > 0) или if(a != 0) ?
- Дана матрица размером n x m. Найти наибольший положительный и наименьший отрицательный элементы матрицы.
- Помогите составить блок схему. Данны целые числа n, k (n>=k>=0). Вычислить n(n-1)*(n-2)... (n-k-1)/k!
- упорядочить матрицу 4 х 5 по элементам последнего столбца. в паскале, помогите
- c++, как отрандомить случайное число типа float в диапазоне от 0 до 10 ? (пример - 0,42; 7,71)
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
массив одномерный, что выносить из таблицы компонентов и т.д...заранее несказанно благодарен
Memo1.Lines.Add('');
S := 0;
for j:=1 to N do
if A[j] > 0 then S := S + j;
Memo1.Lines.Add('Сумма индексов положительных элементов - '+ IntToStr(S));
end;
end.
Не хочет влазить в один коммент. Как видно из текста модуля на форме два компонента. TMemo и TButton.