Hello Everyone!
In this tutorial, we will learn how to Sum of n numbers entered by the user, in the C++ programming language.
Code:
#include <iostream>
using namespace std;
int main()
{
cout << "nnWelcome to Studytonight :-)nnn";
cout << " ===== Program to find the Sum of n numbers entered by the user ===== nn";
//variable declaration
int n,i,temp;
//As we are dealing with the sum, so initializing with 0.
int sum = 0;
//taking input from the command line (user)
cout << " Enter the number of integers you want to add : ";
cin >> n;
cout << "nn";
//taking n numbers as input from the user and adding them to find the final sum
for(i=0;i<n;i++)
{
cout << "Enter number" << i+1 << " : ";
cin >> temp;
//add each number to the sum of all the previous numbers to find the final sum
sum += temp;
}
cout << "nnSum of the " << n << " numbers entered by the user is : "<< sum << endl;
cout << "nnn";
return 0;
}
Output:
Now let’s see what we have done in the above program.
Program Explained:
Let’s break down the parts of the code for better understanding.
//taking n numbers as input from the user and adding them to find the final sum
for(i=0; i<n ;i++)
{
cout << "Enter number" << i+1 << " : ";
cin >> temp;
//add each number to the sum of all the previous numbers to find the final sum
sum += temp;
}
One thing to learn from this code is that, when we don’t have to make use of the individual elements entered by the user, there is no need to create and array or any such data structre to store them as this would just lead to wasteage of space.
For example, in the above code, as we need to find the sum of all the numbers, we are taking each of the number entered by the user into the same variable and addiing it to the sum
variable and then again making use of that same variable again for the next number and so on.
Keep Learning : )
0 / 0 / 0 Регистрация: 26.09.2018 Сообщений: 5 |
|
1 |
|
Ввести заданное количество чисел с клавиатуры и определить максимальное из них27.09.2018, 11:25. Показов 12153. Ответов 8
Ввести N чисел с клавиатуры и определить максимальное из них. Необходимо использовать циклы, но без массивов.
0 |
sourcerer Модератор 5143 / 2322 / 339 Регистрация: 20.02.2013 Сообщений: 5,717 Записей в блоге: 20 |
||||
27.09.2018, 12:00 |
2 |
|||
Сообщение было отмечено SlavikZhelezo как решение Решение
0 |
0 / 0 / 0 Регистрация: 26.09.2018 Сообщений: 5 |
|
27.09.2018, 12:28 [ТС] |
3 |
Эта программа с использованием массива, я правильно понимаю?
0 |
139 / 67 / 46 Регистрация: 15.10.2015 Сообщений: 308 |
|
27.09.2018, 12:30 |
4 |
SlavikZhelezo, Нету там никакого массива.
0 |
1 / 0 / 1 Регистрация: 01.10.2015 Сообщений: 58 |
|
27.09.2018, 12:36 |
5 |
SlavikZhelezo, Эта программа с использованием цикла for. Можно и под while переделать.
0 |
Yetty 7427 / 5021 / 2891 Регистрация: 18.12.2017 Сообщений: 15,694 |
||||
27.09.2018, 13:14 |
6 |
|||
по условию числа не обязательно целые
0 |
0 / 0 / 0 Регистрация: 26.09.2018 Сообщений: 5 |
|
27.09.2018, 23:44 [ТС] |
7 |
Спасибо мужики! Разобрался не сразу, пришлось пару раз скомпилировать, чтобы понять!
0 |
Модератор 5143 / 2322 / 339 Регистрация: 20.02.2013 Сообщений: 5,717 Записей в блоге: 20 |
|
28.09.2018, 06:09 |
8 |
Yetty, сочетание пользовательских идентификаторов типа
0 |
7427 / 5021 / 2891 Регистрация: 18.12.2017 Сообщений: 15,694 |
|
28.09.2018, 10:43 |
9 |
sourcerer, TС нужно разобрать код, посмотреть как он работает. с std:: и самодокументацией с непривычки это
0 |
Голосование за лучший ответ
Виктор С
Мастер
(1925)
10 лет назад
int mass [20], l;
for(l = 0; l<20; l++)
{
cin>>mass[l];
}
int max = mass[0];
for (l = 1;l<20; l++){
if (max< mass[l]) max = mass[l];
}
cout << max;
Антон ФАГ
Мудрец
(10982)
10 лет назад
#include <iostream>
using namespace std;
int searchMax (size_t n)
{
int value, max;
int first = 1;
for (int i = 0; i < n; i++)
{
cout <<“[” << i << “] = “;
cin >> value;
if (first)
{
max = value;
first = 0;
}
if (value > max) max = value;
}
return max;
}
int main (void)
{
cout << searchMax(5);
system(“pause > nul”);
return 0;
}
static void Main(string[] args) { int min = int.MaxValue; int max = int.MinValue; Console.WriteLine("Введите N: "); int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++) { Console.Write("Введите число {0}: ", i + 1); int val = int.Parse(Console.ReadLine()); if (val > max) max = val; if (val < min) min = val; } Console.WriteLine("nMin = {0}nMax = {1}n{1} - {0} = {2}", min, max, max - min); Console.ReadLine(); } } }
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Необходимо найти и вывести на экран все последовательности длины N
из чисел 1,2,...,M
. Это одна из типовых задач программирования, с которой, думаю, каждый хотя бы раз в том или ином виде сталкивался или столкнется при работе над каким-либо проектом. И в этой статье, посвященной различным алгоритмам, реализованным на языке C# мы и решим эту саму задачу о поиске всех возможных последовательностей.
Задача
Пользователь вводит с клавиатуры два числа: N
— длину каждой последовательности, M
— последнее число из ряда 1...M
. Программа должна составить N
последовательностей длиной N
из ряда чисел 1..M
.
Суть решения задачи
Чтобы понять, как должен выглядеть результат, представим задачу с конкретными значениями, например, N = 4, M = 3. Тогда наша программа должна составить и вывести следующие последовательности:
(1,1,1,1) (1,1,1,2) (1,1,1,3) (1,1,2,1) (3,1,3,3) (3,2,1,1)....(3,3,3,3)
Количество таких последовательностей всегда будет равно M^N
.
Для решения задачи нам понадобятся следующие знания: что такое массив и работа с циклами.
Ниже представлен код программы на C#, реализующий поиск и вывод всех последовательностей длиной N
из ряда чисел 1..M
class Program { static void Main(string[] args) { byte m; byte n; byte[] Sequence; int counter = 1; Console.WriteLine("Введите количество элементов последовательности (N) и нажмите Enter"); n = byte.Parse(Console.ReadLine()); Console.WriteLine("Введите последнее число из ряда (1..M) и нажмите Enter"); m = byte.Parse(Console.ReadLine()); Sequence = new byte[n]; //массив в котором будет храниться очередная последовательность bool yes; void Next(byte[] sequence) { int i = n - 1; while ((i > -1) && (sequence[i] == m)) { sequence[i] = 1; i--; } yes = i > -1; //если очередной элемент в последовательности можно нарастить if (yes) { sequence[i]++; } } //задаем первую последовательность, например, (1,1,1,1) for (int i = 0; i < n; i++) { Sequence[i] = 1; } //пробуем перебрать все последовательности do { //выводим счётчик очередной последовательности (стартуем с 1) Console.Write($"{counter}: "); counter++; //выводим на экран очередную последовательность for (int i = 0; i < n; i++) { Console.Write($"{Sequence[i]} "); } Console.WriteLine(); //пробуем найти следующую последовательность Next(Sequence); } while (yes); } }
Результат работы программы представлен ниже:
Введите количество элементов последовательности (N) и нажмите Enter
3
Введите последнее число из ряда (1..M) и нажмите Enter
2
1: 1 1 1
2: 1 1 2
3: 1 2 1
4: 1 2 2
5: 2 1 1
6: 2 1 2
7: 2 2 1
8: 2 2 2
Как видите, программа вывела ровно M^N
(2^3 = 8
) последовательностей.
Готовый проект C# вы можете скачать из нашего репозитория на GitHub.
Итого
Сегодня мы научились искать все последовательности заданной длины состоящие из чисел от 1
до M
. В работе мы использовали массивы, циклы for, while и do..while и для вывода строк воспользовались интерполяцией.
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.