1. Организовать беспрерывный ввод чисел с клавиатуры, пока пользователь не введёт 0. После ввода нуля, показать на экран количество чисел, которые были введены, их общую сумму и среднее арифметическое. Подсказка: необходимо объявить переменную-счетчик, которая будет считать количество введенных чисел, и переменную, которая будет накапливать общую сумму чисел.
Посмотреть код
задача do while c++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intamountDigits=0;// количество введенных чисел
doubletotalSum=0;// общая сумма
doubledigit=0;//
cout<<"Введите числа, для расчета (выйти - 0)\n\n";
do
{
cout<<"Число "<<amountDigits+1<<" = ";
cin>>digit;
if(digit)// если digit любое значение кроме 0(false)
{
amountDigits++;
totalSum+=digit;
}
}while(digit);// пока digit любое значение отличное от 0
2. Необходимо суммировать все нечётные целые числа в диапазоне, который введёт пользователь с клавиатуры.
Посмотреть код
задача while c++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intstart=0;// начало д-на
intfinish=0;// конец д-на
intsumUneven=0;
cout<<"Введите начало диапазона: ";
cin>>start;
cout<<"Введите конец диапазона: ";
cin>>finish;
inti=start;// управляющая переменная
while(i<=finish)
{
if(i%2!=0)
{
cout<<i<<" ";// показать нечетные через пробел
sumUneven+=i;// накапливать их сумму
}
i++;
}
cout<<"\nСумма нечетных чисел в диапазоне от "<<start<<" по "<<finish;
cout<<" = "<<sumUneven<<endl<<endl;
return0;
}
Результат:
3. Задача посложней. Нарисовать равнобедренный треугольник из символов ^. Высоту выбирает пользователь. Например: высота = 5, на экране
Посмотреть код
задача - вложенные циклы C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intheight=0;// высота треугольника
cout<<"Введите высоту равнобедренного треугольника: ";
cin>>height;
for(inti=0;i<height;i++)
{
for(intj=1;j<height-i;j++)
{
cout<<' ';
}
for(intj=height-2*i;j<=height;j++)
{
cout<<'^';
}
cout<<endl;
}
return0;
}
Результат:
4.8
64
176 thoughts on “Задачи: циклы while, do while, вложенные циклы”
#include using namespace std;
int main() {
int _start = 0; int _end = 0; int _sumInputNumber = 0;
cout <> _start; cout <> _end;
for (int i = 0; i != _end+1; i++) { if (i % 2 != 0) { cout << i << " "; _sumInputNumber += i; } } cout << "\nAll the sum of whole odd integers from " << _start << " to " << _end << "are: " << _sumInputNumber; return 0; }
Я попытался разжевать 3 задачу Цикл for выглядит так:
for ( определение управляющей переменной ; условие повторения цикла ; изменение управляющей переменной )
Задача посложней. Нарисовать равнобедренный треугольник из символов ^. Высоту выбирает пользователь. Например: высота = 5, на экране
#include using namespace std;
int main() {
int height = 0; // высота треугольника
cout <> height;
for (int i = 0; i < height; i++) //внешний цикл для строчек { // начало внешнего цикла // 2 вложенных цикла – для пробелов и для знаков
for (int j = 1; j < height – i; j++) // i берется из внешнего цикла // а j относится к этому внутреннему циклу { cout << ' '; } //в строке печать пробелов
for (int j = height – 2 * i; j <= height; j++) // i берется из внешнего цикла // а j относится уже к этому внутреннему циклу
//допустим высота = 5 , то //в нулевой строчке j=5,а i=0, поэтому знак выведется 1 раз
// а в след строчке j=3 , i=1, (на следующем внешнем цикле) // поэтому знак выводится 3 раза ,когда j = поочередно 3, 4, 5
{ cout << '^'; } //печать знаков
cout << endl; } // конец внешнего цикла return 0; }
#include
using namespace std;
int main() {
int _start = 0;
int _end = 0;
int _sumInputNumber = 0;
cout <> _start;
cout <> _end;
for (int i = 0; i != _end+1; i++) {
if (i % 2 != 0) {
cout << i << " ";
_sumInputNumber += i;
}
}
cout << "\nAll the sum of whole odd integers from " << _start << " to " << _end << "are: " << _sumInputNumber;
return 0;
}
—————- 3 ——————-
#include
using namespace std;
int main() {
int _inputNumber;
string _toxer[100];
string _hertakanTox;
string _avelacvoxProblner;
cout << "Enter the number tu build the tree, number will be a higth of tree" <> _inputNumber;
for (int i = _inputNumber; i != 0; i–) { // toxeri qanak
for (int x = _inputNumber – i; x != 0; x–) {
_avelacvoxProblner += ” “;
}
for (int j = 0; j != i*2-1; j++) {
_hertakanTox += “^”;
}
_toxer[i] = _avelacvoxProblner + _hertakanTox;
_hertakanTox.clear();
_avelacvoxProblner.clear();
}
for (int tpel = 0; tpel != _inputNumber+1; tpel++) {
cout << _toxer[tpel] << endl;
}
return 0;
}
Си
#include
#include
main()
{
int visota, i, j;
printf(“Insert height: “);
scanf_s(“%d”, &visota);
for (i = 0; i <= visota; i++) // высота треугольника
{
for (j = 0; j < visota + i; j++) // перечисляем количество знаков в строке ( ширину треугольника )
{
if (j <= visota – i) //
{
printf(" ");
}
else
{
printf("^");
}
}
printf("\n");
}
}
private void PrintTriangle()
{
int weigth = int.Parse(txbInput.Text);
char symbol = char.Parse(txbSymbol.Text);
for (int i = 0; i < weigth; i++)
{
for (int j = 1; j <= i; j++)
{
rtxbOutput.Text += symbol.ToString();
}
rtxbOutput.Text += symbol.ToString() + "\n";
}
}
#include
using namespace std;
int main() {
char c(‘^’);
int a = 0;
while (cin >> a && a > 0) {
for (int d = 1; d <= a; d++) {
int totalelok = (1 + (d – 1) * 2);
string tempstr((1 + (a – 1) * 2), ' ');
tempstr[tempstr.size() / 2] = c;
for (int t = 1; t != totalelok; t += 2) {
tempstr[tempstr.size() / 2 + ((t + 1) / 2)] = c;
tempstr[tempstr.size() / 2 – ((t + 1) / 2)] = c;
}
cout << tempstr << endl;
}
}
system("pause");
return 0;
}
int main() {
setlocale(0, “RU”);
int h, b, x, y;
char sym = ‘^’;
cout << "Введите высоту равнобедренного треугольника: " <> h;
b = h + (h – 1);
x = h;
y = h;
for (int i = 1; i <= h; i++) {
for (int j = 1; j <= b; j++) {
if (j y) {
cout << " ";
}
else {
cout << sym;
}
}
x -= 1;
y += 1;
cout << endl;
}
return 0;
}
Треугольник даже с кодом допедрить не могу) что в треугольнике i и j?
Я попытался разжевать 3 задачу
Цикл for выглядит так:
for ( определение управляющей переменной ;
условие повторения цикла ;
изменение управляющей переменной )
Задача посложней. Нарисовать равнобедренный
треугольник из символов ^. Высоту выбирает
пользователь. Например: высота = 5, на экране
#include
using namespace std;
int main()
{
int height = 0; // высота треугольника
cout <> height;
for (int i = 0; i < height; i++) //внешний цикл для строчек
{ // начало внешнего цикла
// 2 вложенных цикла – для пробелов и для знаков
for (int j = 1; j < height – i; j++)
// i берется из внешнего цикла
// а j относится к этому внутреннему циклу
{
cout << ' ';
}
//в строке печать пробелов
for (int j = height – 2 * i; j <= height; j++)
// i берется из внешнего цикла
// а j относится уже к этому внутреннему циклу
//допустим высота = 5 , то
//в нулевой строчке j=5,а i=0, поэтому знак выведется 1 раз
// а в след строчке j=3 , i=1, (на следующем внешнем цикле)
// поэтому знак выводится 3 раза ,когда j = поочередно 3, 4, 5
{
cout << '^';
}
//печать знаков
cout << endl;
} // конец внешнего цикла
return 0;
}
Третий день изучаю с++. Но на python подобную программу уже писал
#include
#include
#include
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int i;
string a = ” “;
string b = “^”;
cout <> i;
int e = 1;
for (int n = 0; n < i; i–, e += 2) {
for (int k = 0; k < i; k++) {
cout << a;
}
for (int r = 0; r < e; r++) {
cout << b;
}
cout << "\n";
}
return 0;
}