Поделитесь своими знаниями, ответьте на вопрос:
Дороти всё утро по дороге из жёлтого кирпича и присела отдохнуть у кукурузного поля. Смешное чучело из соломы в синем костюме жевуна пыталось отпугивать наглых ворон, выкрикивая проклятия, но не всякого выкрика вороны пугались. Напишите программу, которая из двух выкриков выведет тот, у которого длина больше введённого числа. Если у обоих больше, то вывести тот выкрик, что короче. Формат ввода Вводятся две строки и число. Формат вывода Вывести строку, длина которой больше введённого числа. Если у обеих строк длина больше, то вывести более короткую (гарантируется, что строки разной длины Если ни одна не больше, вывести само число. Пример 1 Ввод Вывод Пошли отсюда! А ну брысь! 10 А ну брысь! Пример 2 Ввод Вывод Вот я вам! Берегись! 10 10 История решений Добавить комментарий Справка
//эта функция считает сумму позитивных елементов в векторе(массиве), от и до //указанного индекса, все параметры передаем по ссылке во избежании копирования
// double getSumOfPositivElements(const vector<double>& array, const int& indexFrom, const int& indexTo) // { double sumOfPositivElements = 0; //переменная, что хранит сумму for (int i = indexFrom; i < indexTo; ++i) //цикл от и до указанного индекса { if (0 < array[i]) //условие, если елемент больше нуля { sumOfPositivElements += array[i]; //то приплюсовать его } } return sumOfPositivElements; //вернуть полученный результат суммы }
//работает аналогично, с разницей лиш что суммирует отрицательные елементы
// double getSumOfNegativElements(const vector<double>& array, const int& indexFrom, const int& indexTo) // { double sumOfNegativElements = 0; for (int i = indexFrom; i < indexTo; ++i) { if (0 > array[i]) { sumOfNegativElements += array[i]; } } return sumOfNegativElements; }
//основная функция программы
// int main() // { vector<double> myArray; //создаем вектор(массив), что хранит значения типа double double arraySize; //переменная, что хранит размер вводимого массива int elementBuf; //в этой переменной будем хранить вводимый елемент int arrayMiddlePosition; //индекс середины массива
cout << "Enter array size: "; cin >> arraySize; //вводим размер массива
arrayMiddlePosition = arraySize / 2; //определяем его середину
myArray.reserve(arraySize); //резервируем размер под кол-во елементов
for (int i = 0; i < arraySize; ++i) //цикл инициализации вектора { cout << "Enter element: "; cin >> elementBuf; //вводим текущий елемент myArray.push_back(elementBuf); //вставляем его в вектор cout << "Elements left: " << arraySize - (i + 1); //расчитываем кол-во оставшихся елементов cout << endl << endl; }
cout << endl; cout << "Sum of positiv elements in first array half: "; //выводим сумму положительных елементов в первой половине массива cout << getSumOfPositivElements(myArray, 0, arrayMiddlePosition); cout << endl;
cout << "Sum of negativ elements in first array half: "; //выводим сумму отрицательных елементов в второй половине массива cout << getSumOfNegativElements(myArray, arrayMiddlePosition, myArray.size()); cout << endl;
//останавливаем выполнение программы, что бы посмотреть результат system("pause"); //возращаем значение '0', что значит для системы, что программа завершила работу успешно (без ошибок) return 0; }