Раз вы приступаете к задачам, значить вже знаєте що таке цикл 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() { setlocale(LC_ALL, “RUS”);
int apple_box = 15, box_export;
for (int i; true; i ) { if (яблучна_коробка == 0) { cout << "У вас закончились ящики, програма закривається, Бувай :D" << endl; break; } cout << "У вас есть " << яблучна_коробка << " ящиків, скільки хочете завантажити в " << i + 1 << "машину" <> box_export; if (box_export > яблучна_коробка) { cout << "У вас нету столько ящиков" << endl; continue; } apple_box -= box_export;
}
}
порожній квадрат() { setlocale(LC_ALL, "RUS");
int a, result;
for (;;) { cout << "Введите число для возведения в квадрат: " <> a; а = * a;
if (A == 0) { break; }
cout << "Результат: " << a << endl; } }
void sportzal() { setlocale(LC_ALL, "RUS");
int кількість_користувачів = 0, user_age = 0, сума_віку = 0, середній вік = 0, minAge = 100, maxAge = 0;
cout << "Введите количество посетителей" <> кількість_користувачів;
for (int i = 0; i < кількість_користувачів; i ) { cout << "Введите возраст " << i + 1 << " відвідувача: " <> users_age; сума_вік += вік_користувачів;
if (users_age > maxAge) { максимальний вік = вік_користувачів; } else if (users_age < minAge) { мінімальний вік = вік_користувачів; } } avgAge = сума_віку / кількість_користувачів;
cout << "Средний возраст " << середній вік << endl; cout << "Максимальный возраст " << maxAge << endl; cout << "Средний возраст " << minAge << endl; }
int main() { int abox , i = 0 , вхідні; cout <> Коробка; for (;;){ i = 1; cout << "How many boxes you want input in " << i <> вхідні; if (вхідні > Коробка){ cout << "Invalid value , ви ввели число більше, ніж у вас ящиків. "; break; } abox -= вхідні; if (Коробка < 0){ cout << "Invalid value , ви ввели число більше, ніж у вас ящиків. "; break; } if (abox == 0){ cout << "Success^-^"; } cout << "Remaind boxes : " << Коробка << "\n"; } return 0; }
int main() { int a = 15; //наявність ящиків на складі INT х; //ітератор циклу
for (int b;a > 0;х ++){ //поки ящиків більше 15 – цикл працює cout <> b; // запитуємо кількість ящиків для вилучення
if (b > a){ //якщо запитуємо більше, ніж є в наявності cout << "Only " << a <<" box left"<< endl; } if (b <= а){ //якщо запитуємо (допустима кількість) ящиків а = – b; //віднімаємо від складу ящики і присвоюємо складу нову кількість } if (A == 0){ //якщо забрали всі наявні ящики cout << "stock is empty, you took all boxes\n"; //повідомляємо про це break; //програма закінчується } }
#include using namespace std; int main() { int kilk = 0; int age = 0; int max = 0; int min = 100; float ser = 0; int sum = 0;
cout <> kilk;
for (int i = 0;i < kilk;i ) { cout << "Enter age of " << i + 1 <> age; if (age max) max = age;
sum = age;
} I SER = / kilk; cout << "Average age of customers : " << бути << endl; cout << "Min age of castomers : " << min << endl; cout << "Max age of customers : " << max << endl; }
#include
using namespace std;
int main() {
setlocale(LC_ALL, “RUS”);
int apple_box = 15, box_export;
for (int i; true; i ) {
if (яблучна_коробка == 0) {
cout << "У вас закончились ящики, програма закривається, Бувай :D" << endl;
break;
}
cout << "У вас есть " << яблучна_коробка << " ящиків, скільки хочете завантажити в " << i + 1 << "машину" <> box_export;
if (box_export > яблучна_коробка)
{
cout << "У вас нету столько ящиков" << endl;
continue;
}
apple_box -= box_export;
}
}
порожній квадрат() {
setlocale(LC_ALL, "RUS");
int a, result;
for (;;) {
cout << "Введите число для возведения в квадрат: " <> a;
а = * a;
if (A == 0) {
break;
}
cout << "Результат: " << a << endl;
}
}
void sportzal() {
setlocale(LC_ALL, "RUS");
int кількість_користувачів = 0, user_age = 0, сума_віку = 0, середній вік = 0, minAge = 100, maxAge = 0;
cout << "Введите количество посетителей" <> кількість_користувачів;
for (int i = 0; i < кількість_користувачів; i ) {
cout << "Введите возраст " << i + 1 << " відвідувача: " <> users_age;
сума_вік += вік_користувачів;
if (users_age > maxAge) {
максимальний вік = вік_користувачів;
}
else if (users_age < minAge) {
мінімальний вік = вік_користувачів;
}
}
avgAge = сума_віку / кількість_користувачів;
cout << "Средний возраст " << середній вік << endl;
cout << "Максимальный возраст " << maxAge << endl;
cout << "Средний возраст " << minAge << endl;
}
Не розумію як зациклити якщо вводиться більше, ніж є на складці( памагити…(
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int i = 0; //скільки відвантажити
int після = 0; //скільки залишилося після навантаження
for (ІНТ коробка = 15; коробка > 0; коробка – i)
{
cout << " Скільки ящиків відвантажити? " <> i;
if (i > коробка)
{
cout << " Усього на складі 15 ящиків, не виїбуйся, малювання " << endl;
}
else
{
після = поле -= я;
cout << " ящиків залишилося " << після << endl;
}
if (після == 0)
{
cout << "У вас не осталось ящиков " << endl;
break;
}
}
return 0;
}
А ти теж, коли їх робити змінюєш підзаголовки на сайтах через консоль, або я один такий?
бліііііііііііін, тільки зараз згадав про “всього на складці…” вибачте
Ізі ласт таргет ес
#include
using namespace std;
int main()
{
int kol = 15;
int a = 0;
INT B = 0;
for (;;) {
cout << "skolko yashikov pogruzit" <> a;
Ь + = а;
while (b > 15) {
cout << "error";
return 0;
}
while (б == 15) {
cout << "vse yashiki pogrusheny";
return 0;
}
}
}
// сумний:(
#include
using namespace std;
int main() {
int abox , i = 0 , вхідні;
cout <> Коробка;
for (;;){
i = 1;
cout << "How many boxes you want input in " << i <> вхідні;
if (вхідні > Коробка){
cout << "Invalid value , ви ввели число більше, ніж у вас ящиків. ";
break;
}
abox -= вхідні;
if (Коробка < 0){
cout << "Invalid value , ви ввели число більше, ніж у вас ящиків. ";
break;
}
if (abox == 0){
cout << "Success^-^";
}
cout << "Remaind boxes : " << Коробка << "\n";
}
return 0;
}
завдання №3
int main()
{
int a = 15; //наявність ящиків на складі
INT х; //ітератор циклу
for (int b;a > 0;х ++){ //поки ящиків більше 15 – цикл працює
cout <> b; // запитуємо кількість ящиків для вилучення
if (b > a){ //якщо запитуємо більше, ніж є в наявності
cout << "Only " << a <<" box left"<< endl;
}
if (b <= а){ //якщо запитуємо (допустима кількість) ящиків
а = – b; //віднімаємо від складу ящики і присвоюємо складу нову кількість
}
if (A == 0){ //якщо забрали всі наявні ящики
cout << "stock is empty, you took all boxes\n"; //повідомляємо про це
break; //програма закінчується
}
}
int a;
cout <> a;
int help = 5352;
int max = 0;
int min = 0;
float середній = 0;
int великий;
INT B = 0;
Ь = а;
INT C;
for (int i = 0;i < b;i )
{
cout << "Введите возвраст" << i <> c;
if (допомога == 5352)
{
min = c;
}
допомога = 12;
if (c макс)
{
max = c;
}
середній += c;
}
cout << "Max" << max << endl;
cout << "Min" << min << endl;
cout << "Middle" << float(середній/а);
#include
using namespace std;
int main()
{
int kilk = 0;
int age = 0;
int max = 0;
int min = 100;
float ser = 0;
int sum = 0;
cout <> kilk;
for (int i = 0;i < kilk;i ) {
cout << "Enter age of " << i + 1 <> age;
if (age max)
max = age;
sum = age;
}
I SER = / kilk;
cout << "Average age of customers : " << бути << endl;
cout << "Min age of castomers : " << min << endl;
cout << "Max age of customers : " << max << endl;
}