Тема: Суму елементів масиву, розташованих до мінімального елемента.Як це зро
Суму елементів масиву, розташованих до мінімального елемента.Як це зробити?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Суму елементів масиву, розташованих до мінімального елемента.Як це зро
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Суму елементів масиву, розташованих до мінімального елемента.Як це зробити?
Знайти найменший елемент масива (значення та номер).
Обчислити суму всіх елементів, що йдуть до нього.
В умові не сказано, «до мінімального елемента» — це включно з ним, чи сума лише тих елементів, що йдуть перед ним. Потрібно уточнити.
kaminskuy28
Починати треба з читання правил форуму, якщо ви не в змозі прочитати їх, то про яке програмування чи навіть спілкування з вами може йти мова?
Суму елементів масиву, розташованих до мінімального елемента.Як це зробити?
Рекурсивно
#include<iostream>
template<typename T>
T sum(T const* const array, int count) {
return count > 0 ? array[0] + sum(array + 1, --count) : 0;
}
template<typename T>
int index_of_min(T const* const array, int count) {
if (count < 2) return 0;
int i = index_of_min<T>(array + 1, --count) + 1;
return array[0] < array[i] ? 0 : i;
}
int main() {
int const count = 5;
float* array = new float[count] { 7, 4, 9, 3, 6 };
int i = index_of_min<float>(array, count);
float s = sum<float>(array, i);
std::cout << s;
return 0;
}
Або не рекурсивно
#include<iostream>
template<typename T>
T sum(T const *const array, int const count) {
T s = 0;
for(int i = 0; i < count; ++i)
s += array[i];
return s;
}
template<typename T>
int index_of_min(T const *const array, int const count) {
int i = 0;
for(int j = 0; j < count; ++j)
if(array[i] > array[j])
i = j;
return i;
}
int main() {
int const count = 5;
float *array = new float[count] { 7, 4, 9, 3, 6 };
int i = index_of_min<float>(array, count);
float s = sum<float>(array, i);
std::cout << s;
return 0;
}
Хву, пане leofun01. Ну є ж стандартні функції.
#include <iostream>
#include <algorithm>
#include <numeric>
#include <type_traits>
template<class InputIt>
decltype(auto) sum_before_min(InputIt first, InputIt last)
{
using T = typename std::remove_reference<decltype(*first)>::type;
return std::accumulate(first, std::min_element(first, last), T{}, [](T a, T b){return a+b;});
}
int main() {
int a[] {3, 4, 1, 5, 6};
float b[] { 7., 4., 9., 3., 6. };
std::cout << sum_before_min(std::begin(a), std::end(a)) << " "
<< sum_before_min(std::begin(b), std::end(b)) << std::endl;
return 0;
}
Нащо так навантажувати відразу людину...
Потрібно так робити щоб вона просто переписала і забула ))
#include <stdio.h>
#define SIZE 5
int main()
{
float a[SIZE] = {3, 4, 1, 5, 6}, min = a[0];
float sum = 0;
size_t min_ID, i;
// Шукаємо індекс мінімального елемента масиву...
for (i = 1; i < SIZE; ++i)
min = (min > a[i]) ? min_ID = i, a[i] : min;
// Знаходимо суму елементів масиву, котрі розташовані до мінімального елемету
for (i = 0; i < min_ID; ++i)
sum += a[i];
printf("%.f ", sum);
return 0;
}
Я так розумію це проста лаба. А якщо викладач задасть якісь питання по коду?
Потрібно так робити щоб вона просто переписала і забула ))
Потрібно? Вам потрібно, щоб людина без знання C отримала документ, що вона знає C? Ви не плануєте в майбутньому користуватися променевою терапією? І автомобілями? І літаками?
Чи маєте суїциїдальні схильності і хочете забрати із собою якомога більше інших?
lucas-kane написав:Потрібно так робити щоб вона просто переписала і забула ))
Потрібно? Вам потрібно, щоб людина без знання C отримала документ, що вона знає C? Ви не плануєте в майбутньому користуватися променевою терапією? І автомобілями? І літаками?
Чи маєте суїциїдальні схильності і хочете забрати із собою якомога більше інших?
а на роботу таких людей візьмуть?
Вони(люди) ж співбесіду не пройдуть, їй(людині) зададуть 1 запитання і зрозуміють що вона(людина) нічого незнає.
Потрібно? Вам потрібно, щоб людина без знання C отримала документ, що вона знає C? Ви не плануєте в майбутньому користуватися променевою терапією? І автомобілями? І літаками?
Чи маєте суїциїдальні схильності і хочете забрати із собою якомога більше інших?
Ну Ви як завжди пане koala маєте схильність перебільшувати та зробити з мухи слона. Повірте мені знання мови C ще не дає цій людині права застосовувати цю мову без додаткових навичок в тій чи іншій галузях.
Я маю суїцидальні схильносі? До чого Ви це пишете? Ви мене добре знаєте?
koala написав:lucas-kane написав:Потрібно так робити щоб вона просто переписала і забула ))
Потрібно? Вам потрібно, щоб людина без знання C отримала документ, що вона знає C? Ви не плануєте в майбутньому користуватися променевою терапією? І автомобілями? І літаками?
Чи маєте суїциїдальні схильності і хочете забрати із собою якомога більше інших?а на роботу таких людей візьмуть?
Вони(люди) ж співбесіду не пройдуть, їй(людині) зададуть 1 запитання і зрозуміють що вона(людина) нічого незнає.
Пройдуть, в тому і біда.
І різні місри вилізли якраз через те, що таких на роботу проходить багато і потрібно обмежити їх, не давати їм використовувати можливості мови, які вони не розуміють.
mamkin haker написав:а на роботу таких людей візьмуть?
Вони(люди) ж співбесіду не пройдуть, їй(людині) зададуть 1 запитання і зрозуміють що вона(людина) нічого незнає.Пройдуть, в тому і біда.
І різні місри вилізли якраз через те, що таких на роботу проходить багато і потрібно обмежити їх, не давати їм використовувати можливості мови, які вони не розуміють.
якщо такі проходять то може мені піти програмістом працювати ?
Вони(люди) ж співбесіду не пройдуть, їй(людині) зададуть 1 запитання і зрозуміють що вона(людина) нічого незнає.
О, знаєте, у мене є чудова ідея, як можна зекономити купу часу висококваліфікованих фахівців. Треба замість багатогодинних окремих "співбесід" (по факту - іспитів) для кожної фірми запровадити централізований іспит, а ще краще - відстежування успіхів під час навчання. І давати людині документ, який би підтверджував, що вона не просто може відгадати дві відповіді з непрофесійної співбесіди, а реально має весь набір необхідних знань. Це ж тоді можна буде замість довгої співбесіди просто документ подивитися. Правда ж, чудова ідея? Можна навіть назвати такий документ "дипломом", а установу, що видає його - "університетом".
Звісно, виникає проблема: а що, як люди будуть імітувати діяльність в університеті і отримувати такий диплом без необхідних знань? Ні, ну дурня якась: це ж треба, щоб купа інших людей бачили шахрая і схвалювали такі дії. А цим людям же потім жити в суспільстві, де водії, якщо їм при працевлаштуванні не зробили додатковий іспит, не вміють водити, лікарі - лікувати, програмісти - програмувати... от невже всім, хто бачить таких шахраїв, реально потрібно при влаштуванні на кожну нову роботу знову проходити іспит і все одно ризикувати, що когось іншого взяли на роботу без такого іспиту?
тестове завдання ж дають, а його вже нетак то просто й вгадати (напевно)
upd: https://www.rbc.ua/ukr/styler/ukraine-o … 49873.html
тестове завдання ж дають, а його вже нетак то просто й вгадати (напевно)
Ще раз: якщо вам треба працевлаштуватися, то, мабуть, краще обійти 3-4 чи навіть 10-12 різних організацій, дізнатися про умови, порівняти. А якщо вам потрібно знайти працівника, то теж краще не першого-ліпшого, а обрати з 10 чи більше, так? Якщо ж кожному давати тестове завдання в кожній фірмі, то 10 людей для 10 фірм - це 100 завдань. І 100 перевірок цих завдань фахівцями фірми. Всю економіку будемо переводити на самі тестові завдання?
ех...
ще б дипломи не купляли і не клали оцінки за гроші, було б взагалі добре
koala
у вас 11111 подяк
Вітаємо)
а у мене 666 повідомлень)
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися