Раз вы приступаете к задачам, значить вже знаєте що таке цикл for. Рассмотрим несколько задач, в рішенні яких він застосовується і, тем самым, закрепим полученные знания. Практика програмування– найкращий спосіб розібратися з матеріалом і запам'ятати інформацію надовго.
1. Написать программу, яка буде показувати на екран квадрат числа, введеного користувачем. Пользователь должен сам решать – вийти з програми або продовжити введення. (Подсказка – необходимо запустить бесконечный цикл, в котором предусмотреть его прерывание, при наступлении определённого условия).
Показать код
Задача: оператор for 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intdigit=0;// число для расчета
charexit='y';// для выхода или продолжения
for(;;)
{
cout<<"Введите число: ";
cin>>digit;
cout<<"Квадрат "<<digit<<" = "<<digit*digit;
cout<<"\nПродолжить ввод чисел - Y, Выйти - N: ";
cin>>exit;// выбор пользователя
if(exit!='y'&&exit!='Y')
break;// прервать цикл
}
return0;
}
В задаче, как видите, передбачено продовження роботи, вне зависимости в каком регистре введена буква Y (в нижнем или в верхнем).
Результат:
2. В спортзал ежедневно приходит какое-то количество посетителей. Необходимо предложить пользователю ввести такие данные: сколько человек посетило спортзал за день, ввести возраст каждого посетителя и в итоге показать возраст самого старшего и самого молодого из них, а так же посчитать средний возраст посетителей.
Показать код
Задача: оператор for 2
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
34
35
36
37
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intage=0;// будет вводить пользователь
intmaxAge=0;// для записи максимального количества лет
intminAge=100;// для записи минимального количества лет
intsum=0;// общая сумма для расчета среднего
intaverage=0;// для записи среднего возраста посетителей
intamount=0;// количество посетителей спортзала
cout<<"Введите количество посетителей спортзала: ";
cin>>amount;
for(inti=0;i<amount;i++)
{
cout<<"Введите возраст "<<i+1<<"-го посетителя: ";// запрос на введение числа
cin>>age;
if(age>maxAge)// если оно больше, чем хранит переменная max
maxAge=age;// записываем в неё это число
if(age<minAge)
minAge=age;
sum+=age;// накопление общей суммы
}
average=sum/amount;// подсчет среднего возраста
cout<<"\nСредний возраст всех посетителей: "<<average<<endl;
cout<<"\nСамый взрослый: "<<maxAge<<endl;
cout<<"\nСамый молодой: "<<minAge<<endl;
return0;
}
Переменную min мы инициализировали значением 100, чтобы программа могла корректно работать. Якби вона була инициализирована значенням 0, умоваif (age < minAge) не виконувалося б ніколи, так какage завжди більше 0. Таким образом значение переменной minAge всегда оставалось бы нулем.
Результат:
Для самостоятельно задания, пропонуємо вам вирішити схоже завдання. Организовать ввод количества посетителей спортзала и количества часов проведенных каждым из них в спортзале. В итоге посчитать и показать общую сумму, которую посетители заплатили за тренировки.
3. На складе имеется определённое количество ящиков с яблоками (в нашем примере 15). Когда подъезжает машина для погрузки, попросить пользователя ввести, сколько ящиков загрузить в первую машину, в другу і так далі, пока не закончатся ящики с яблоками. Предусмотреть тот случай, когда пользователь введёт количество ящиков больше, чем есть на складе.
Показать код
Задача: оператор for 3
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
34
35
36
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intboxWithApples=15;// количество ящиков на складе
intamountBoxesForSale=0;// количество отгружаемых ящиков
cout<<"Сейчас на складе "<<boxWithApples<<" ящиков с яблоками.\n\n";
for(inti=1;;i++)// счетчик i будет считать количество машин к погрузке
{
cout<<"Сколько ящиков загрузить в "<<i<<"-ю машину? ";
cin>>amountBoxesForSale;
if(amountBoxesForSale>boxWithApples)
{
cout<<"\nНа складе недостаточно товара!";
cout<<"Осталось только "<<boxWithApples<<" ящиков\n\n";
i--;// уменьшить счетчик на единицу
}
else
{
boxWithApples-=amountBoxesForSale;// перезаписываем значение
cout<<"Осталось "<<boxWithApples<<" ящиков.\n";
}
if(boxWithApples==0)// если ящиков больше нет - выйти из цикла
{
cout<<"Яблоки закончились! Давай до свидания!\n";
break;
}
}
return0;
}
Счетчик i в строке 21 уменьшается на единицу, чтобы при следующем шаге цикла показать правильный порядковый номер машины.
Результат:
При возникновении вопросов обращайтесь к нам в комментариях.
4.4
47
161 думки про "Завдання: Цикл for в С ”
#include using namespace std;
int main() {
INT число = 0; bool is_active = вірно;
while (is_active){ cout << "enter the nuber" <> number; cout << "Mutqagrvac " << number << " тві каракусін = " << number * number << endl << endl; } return 0; }
//////////////////////////////3///////////////////////////////// #include using namespace std;
int main() { int _yashikneri_tiv = 15; int _num_of_box;
cout << "Enter the number of boxis to enter in the car:" <> _num_of_box; if (_num_of_box > _yashikneri_tiv) { cout << "The number of entered boxis is more then in the stock !!!" << endl; } else { _yashikneri_tiv- = _num_of_box; } }
int main() { setlocale(0, “RU”); int input; for (;;) { cout <> вхід; if (вхід != 0) { cout << вхід * вхід << endl; } else { cout << "Выход…"; break; } } return 0; } Але легше було б зробити через while або do-while
#include #include using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); ІНТ коробка = 15; INT Num; int sum = 0; for (int i = 0;; i ) { cout << "Сколько ящиков загрузить в " << i + 1 <> num; сума + = Num; if (sum >= 15) { cout << "\n" << sum – 15 << " ящиков осталось не загружено "; break; } } return 0; }
Допоможіть розібратися з завданням про спортзалі ласка. Не розумію як ми побачимо на екрані максимальний і мінімальний вік. Наприклад пишемо що вік 1-го відвідувача 25. Йде перша перевірка if (age>максаж). т.е. 25 більше Про повертає true. Потім друга перевірка умови if (age<мінаж) і теж повертає truе. Так яким же чином програма визначає хв і макс вік якщо заносить в age однакові дані?
#include
using namespace std;
int main() {
INT число = 0;
bool is_active = вірно;
while (is_active){
cout << "enter the nuber" <> number;
cout << "Mutqagrvac " << number << " тві каракусін = " << number * number << endl << endl;
}
return 0;
}
//////////////////////////////3/////////////////////////////////
#include
using namespace std;
int main() {
int _yashikneri_tiv = 15;
int _num_of_box;
cout << "Enter the number of boxis to enter in the car:" <> _num_of_box;
if (_num_of_box > _yashikneri_tiv) {
cout << "The number of entered boxis is more then in the stock !!!" << endl;
}
else {
_yashikneri_tiv- = _num_of_box;
}
}
return 0;
}
#include
using namespace std;
int main() {
setlocale(0, “RU”);
int Коробки, bfput;
cout <> Коробки;
for (int i = 1;; i ) {
cout << "Сколько ящиков погрузить в " << i <> bfput;
Коробки - = bfput;
if (Коробки < 0) {
Поле + = bfput;
cout << "Вы не можете погрузить столько ящиков. ящиків залишилося: " << Коробки << " штук(а)" << endl;
i–;
}
else {
cout << "Ящиков осталось: " << Коробки << endl;
}
if (Коробки == 0) {
cout << "Яблоки закончились! Гуд бай";
break;
}
}
return 0;
}
#include
using namespace std;
int main() {
setlocale(0, “RU”);
int input;
for (;;) {
cout <> вхід;
if (вхід != 0) {
cout << вхід * вхід << endl;
}
else {
cout << "Выход…";
break;
}
}
return 0;
}
Але легше було б зробити через while або do-while
#include
using namespace std;
int main() {
setlocale(0, “RU”);
int countВідвідувачі, maxAge = 0, minAge = 1000, ageVisitor, сума = 0;
cout <> countVisitors;
for (int i = 1; i <= countVisitors; i ) {
cout << "Введите возраст " << i <> ageVisitor;
if (ageVisitor > maxAge) {
maxAge = ageVisitor;
}
if (ageVisitor < minAge) {
minAge = ageVisitor;
}
sum + = ageVisitor;
}
cout << "Самый большой возраст: " << maxAge << endl;
cout << "Самый маленький возраст: " << minAge << endl;
cout << "Средний возраст: " << sum / countVisitors;
}
#include
using namespace std;
int main() {
setlocale(LC_ALL, “RUS”);
поплавкове яблуко, пюре, сміття;
cout <> яблуко;
for (int i = 1; яблуко > 0; i ) {
cout << "Сколько яблок забрать машиной номер " << i <> сміття;
if (сміття <= яблуко) {
яблуко = яблуко – сміття;
}
else {
cout << "недостаточно яблок на складе" << endl;
i–;
}
}
cout << "Весь груз забран!" << endl;
}
#include
#include
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
ІНТ коробка = 15;
INT Num;
int sum = 0;
for (int i = 0;; i )
{
cout << "Сколько ящиков загрузить в " << i + 1 <> num;
сума + = Num;
if (sum >= 15) {
cout << "\n" << sum – 15 << " ящиков осталось не загружено ";
break;
}
}
return 0;
}
Допоможіть розібратися з завданням про спортзалі ласка. Не розумію як ми побачимо на екрані максимальний і мінімальний вік. Наприклад пишемо що вік 1-го відвідувача 25. Йде перша перевірка if (age>максаж). т.е. 25 більше Про повертає true. Потім друга перевірка умови if (age<мінаж) і теж повертає truе. Так яким же чином програма визначає хв і макс вік якщо заносить в age однакові дані?
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “російський”);
int yabloki,a;
cout <> yabloki;
cout << "Подъехали машины для загрузки\n " << "……………………\n"<<"Загрузите ящики с яблоками… \n\n";
for (int i = 1; ; i ) {
cout << "Сколько ящиков загрузить в " << i <> a;
if (a <= yabloki) {
cout << "Вы загрузили " << a << " ящика(ов) \n";
yabloki = yabloki – a;
cout << "Осталось " << yabloki << " ящика(ов) \n\n";
if (yabloki == 0) {
cout << "………………\n";
cout << "Поздравляю,ви завантажили все ящики!!!\n\n";
break;
}
}
else {
cout << "……………………………….\n";
cout << "Вы ввели превышающее количество яблок ";
break;
}
}
}
int main()
{
setlocale(LC_ALL, “RUS”);
int Box = 15; // кол-во ящиків на складі
int BoxLoad = 0; //кол-во завантажених ящиків
int BoxVar; //змінна для підрахунку залишилися ящиків
cout << "На складе " << Коробка << " ящиків яблук" << endl;
for (int i = 1;; i )
{
cout << "Введите количество ящиков для отгрузки в " <<i<<" машину"<> BoxLoad;
if (BoxLoad<= Коробка)
{
Box - = BoxLoad;
cout << " Залишок ящиків з яблуками на складі " << Коробка << " шт." << endl;
}
else
{
BoxVar = Коробка + BoxLoad;
cout << "На складе нет столько ящиков. Ящиків на складі: "<< Коробка << endl;
i–;
}
if (Графа == 0)
{
cout << "Ящиков не осталось" << endl;
break;
}
}