Раз вы приступаете к задачам, значит уже знаете что такое цикл 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 thoughts on “Задачи: Цикл for в С++”
#include using namespace std; int main() { setlocale(LC_ALL,”Rus”); int user = 0; int hour = 0; int sumHour = 0; float cost = 55.5; char button = ‘y’;
for (;;) { cout <> user; for (int i = 0; i < user; i++) { cout << "Сколько часов занимался " << i + 1 << "-й посетитель? " <> hour; sumHour += hour;
не ругайте за оформление #include using namespace std; int main() { int box= 15; int minusBox[15]; cout << "4islo boxiv:15"; cout << endl; for (int i = 0; i < 15; i++) {
for (int i = 0; i<visitors; i++) { cout << "Введите кол-во часов проведнное в спортзале " <> time; sum = time*100; cout << " Общая сумма "<< sum << "$" << endl;
int chel, let, c, min, max, srar, chas, deng, dengivchas,chas2; cout << "Введите количество человек прошедших в спорт зал" <> chel; cout << "Введите стоимость посещения спорт зала в час" <> dengivchas; min = 0; max = 0; c = 0; deng = 0; chas2 = 0; for (int i = 1; i <= chel; i++) { cout << "Сколько лет " << i << " человеку?" <> let; cout << "Сколько часов провёл в спорт зале?" <> chas; if (i == 1) min = let; if (max = let) min = let; c += let; chas2 += chas; } deng = chas2 * dengivchas; srar = c / chel; cout << min << " Это минимальный возраст"<<endl << endl; cout << max << " Это максимальный возраст"<<endl << endl; cout << srar << " Средний возраст" << endl << endl; cout << deng << " Прибыль" << endl << endl; return 0; }
#include using namespace std; int main() { setlocale(LC_ALL, “Russian”);
int n; cout <> n; cout << "На складе есть " << n <<" ящиков с яблоками!" << endl; int Kolichestvo,number_car=1; for (int i = 0; i < n; ) { cout << "Введите количество ящиков, которое погрузить в " <<number_car<> Kolichestvo; if (Kolichestvo <= n-i) { i += Kolichestvo; number_car++; } else cout << "Вы ввели больше ящиков чем на складе" << endl; cout <<"*************************************"<<endl; } cout << "Машины в пути:)";
#include
using namespace std;
int main()
{
setlocale(LC_ALL,”Rus”);
int user = 0;
int hour = 0;
int sumHour = 0;
float cost = 55.5;
char button = ‘y’;
for (;;)
{
cout <> user;
for (int i = 0; i < user; i++)
{
cout << "Сколько часов занимался " << i + 1 << "-й посетитель? " <> hour;
sumHour += hour;
}
float prise = sumHour * cost;
cout << "Общая сумма == " << prise << " USD\n";
cout <> button;
if (button != ‘Y’ && button != ‘y’);
break;
}
system(“pause”);
return 0;
не ругайте за оформление
#include
using namespace std;
int main()
{
int box= 15;
int minusBox[15];
cout << "4islo boxiv:15";
cout << endl;
for (int i = 0; i < 15; i++) {
cout << "y " << (i+ 1) <> minusBox[i];
box-=minusBox[i];
if (box == 0) {
cout << "zakin4ilisya box";
exit(1);
}
else if (box < 0) {
cout << "Hemae stilki boxiv";
exit(0);
}
cout << "lischilosya boxiv:" << box << endl;
}
}
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int visitors;
int time;
int sum;
cout << "Введите кол-во посетителей " <> visitors;
for (int i = 0; i<visitors; i++)
{
cout << "Введите кол-во часов проведнное в спортзале " <> time;
sum = time*100;
cout << " Общая сумма "<< sum << "$" << endl;
}
return 0;
}
Немного по своему сделал))
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int chel, let, c, min, max, srar, chas, deng, dengivchas,chas2;
cout << "Введите количество человек прошедших в спорт зал" <> chel;
cout << "Введите стоимость посещения спорт зала в час" <> dengivchas;
min = 0;
max = 0;
c = 0;
deng = 0;
chas2 = 0;
for (int i = 1; i <= chel; i++) {
cout << "Сколько лет " << i << " человеку?" <> let;
cout << "Сколько часов провёл в спорт зале?" <> chas;
if (i == 1)
min = let;
if (max = let)
min = let;
c += let;
chas2 += chas;
}
deng = chas2 * dengivchas;
srar = c / chel;
cout << min << " Это минимальный возраст"<<endl << endl;
cout << max << " Это максимальный возраст"<<endl << endl;
cout << srar << " Средний возраст" << endl << endl;
cout << deng << " Прибыль" << endl << endl;
return 0;
}
#include
using namespace std;
int main()
{
int numBoxes = 15;
int downloadBoxes = 0;
for(int i;;i++)
{
cout<<"Введите, сколько ящиков с яблоками вы хотите загрузить в "<< i+1 <> downloadBoxes;
if(downloadBoxes > numBoxes)
{
cout<<"Ящиков в наличии: "<< numBoxes<<endl;
i–;
}
else
{
numBoxes -= downloadBoxes;
}
if(numBoxes == 0)
{
cout<<"Ящики с яблоками закончились! Давай до свидания!";
break;
}
}
return 0;
}
#include
using namespace std;
int main()
{
int guests = 0;
int hourGuests = 0;
int summ = 0;
int totalSumm = 0;
cout <> guests;
cout << "Введите кол-во часов каждого посетителя: ";
for(int i = 0; i > hourGuests;
summ += hourGuests;
}
totalSumm = summ * 10;
cout << "Общая сумма которую посетители заплатили за тренировку в спортзале: " << totalSumm << " $ "<< endl;
return 0;
}
Код не полностью скопировался
#include
using namespace std;
int main()
{
int guests = 0;
int hourGuests = 0;
int summ = 0;
int totalSumm = 0;
cout <> guests;
cout << "Введите кол-во часов каждого посетителя: ";
for(int i = 0; i > hourGuests;
summ += hourGuests;
}
totalSumm = summ * 10;
cout << "Общая сумма которую посетители заплатили за тренировку в спортзале: " << totalSumm << " $ "<< endl;
return 0;
}
ЗАДАНИЕ №3
(Я так сделал)
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “RUS”);
int c;
cout << "введите количество ящиков на складе :" <> c;
cout << "__________________________________________" << endl << endl;
int BOX = c;
int a;
int b=0;
cout << "подьехала машина для погрузки" << endl << endl;
cout << "__________________________________________" << endl << endl;
for ( int i = 0; i < BOX; i++)
{
cout << "осталось ящиков на складе :" << BOX << endl << endl;
cout << "__________________________________________" << endl << endl;
b += 1;
cout << "сколько ящиков загрузить в " << b << "-ую " << "машину :" << endl <> a;
if (a > BOX)
{
cout << "на складе ящиков меньше чем :" << a << endl << endl;
cout << "__________________________________________" << endl << endl;
cout << "введите другое количесво ящиков :" << endl <> a;
cout << "__________________________________________" << endl << endl;
BOX -= a;
cout << "__________________________________________" << endl << endl;
}
else {
BOX -= a;
cout << "__________________________________________" << endl << endl;
}
}
cout << "cклад ящиков опустошен" << endl << endl;
}
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “Russian”);
int n;
cout <> n;
cout << "На складе есть " << n <<" ящиков с яблоками!" << endl;
int Kolichestvo,number_car=1;
for (int i = 0; i < n; )
{
cout << "Введите количество ящиков, которое погрузить в " <<number_car<> Kolichestvo;
if (Kolichestvo <= n-i)
{
i += Kolichestvo;
number_car++;
}
else
cout << "Вы ввели больше ящиков чем на складе" << endl;
cout <<"*************************************"<<endl;
}
cout << "Машины в пути:)";
}
Здесь я сам цикл по другому сделал:)