Условие задачи : Найти среднее арифметическое в трех рядах (в каждом по отдельности) (Язык C++).
Сложность : легкая .
Решение задачи :
Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас будет 5 . Хотите ставьте своё число. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл только уже для чисел этого ряда. Во как )
Теперь подумаем какие переменные нам понадобятся :
- Переменная summa — для суммы чисел каждого ряда
- Переменная average — для среднего арифметического каждого ряда
- Переменная number — обычное число которое мы будем постоянно прибавлять
- Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться и цикле.
Начнем мы с каркаса нашей программы :
#include <iostream> // подключаем библиотеку ввода и вывода #include <ctime> using namespace std ; // используем именное пространство std int main() { setlocale(LC_ALL, "Russian"); // включаем русский язык srand(time(0)); // инициализация генератора случайных чисел, подобие randomize double average , summa , number; system("PAUSE"); // чтобы программа не закрывалась return 0 ; // возвращаем функции main() ноль }
Заметьте мы подключили библиотеку ctime , она нам будет нужна для того чтобы заполнить наш ряд случайными числами.
srand(time(0)) — и вот мы включили генератор случайных чисел.
Теперь цикл. Сначала сделаем цикл для одного ряда :
for (int j = 1 ; j <= 5 ; j++) { number = rand() % 10; summa = summa + number; cout << number << " | " ; } average = summa / 5 ; cout << "Среднее арифмет. = " << average << endl;
Мы сделали цикл от 1 до 5 , т.е. у нас в ряде будет 5 элементов. Дальше мы присвоили переменной number, какое — то случайное число от 0 до 9, потом прибавили его к сумме ряда и вывели это число , и после окончания цикла у нас будет сумма ряда и нам останется только разделить её на 5 чтобы получить среднее арифметическое
Но нам нужно среднее арифметическое в трех рядах, поэтому мы этот весь код засовываем в еще один цикл :
for (int i = 1; i <= 3 ; i++) { summa = 0; // если не обнулить то сумма для 2-го и 3-го будет считаться не правильно for (int j = 1 ; j <= 5 ; j++) { number = rand() % 10; summa = summa + number; cout << number << " | " ; } average = summa / 5 ; cout << "Среднее арифмет. = " << average << endl; }
Сначала мы пускаем цикл от 1 до 3 , т.е. кол-во рядов, берем первые ряд в нем считаем среднее арифметическое затем выводим, потом берем 2-й ряд потом 3-й.
Всё решение задачи c++ :
#include <iostream> // подключаем библиотеку ввода и вывода #include <ctime> using namespace std ; // используем именное пространство std int main() { setlocale(LC_ALL, "Russian"); // включаем русский язык srand(time(0)); // инициализация генератора случайных чисел, подобие randomize double average , summa , number; for (int i = 1; i <= 3 ; i++) { summa = 0; for (int j = 1 ; j <= 5 ; j++) { number = rand() % 10; summa = summa + number; cout << number << " | " ; } average = summa / 5 ; cout << "Среднее арифмет. = " << average << endl; } system("PAUSE"); // чтобы программа не закрывалась return 0 ; // возвращаем функции main() ноль }