Раз вы приступаете к задачам, значить вже знаєте що таке цикл 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 в С ”
нормалек хлопців, вирішив. І до речі у автора на кшталт баг був в завданні, типу на складі залишилося – 65 ящиків (і т.п. тобто негативне кількість), у мене багів немає)) #include using namespace std;
int main () { int a /* кількість відвантажується */, b = 15 / * кількість на складі * /; cout << "На складе " << b <> a; for (int i / * Кількість машин * / = 1; (a > 0) && (a <= Ь) ; i ) { if (A == 15) { cout << "На складе не осталось ящиков"; exit (0); } б - = а; cout << "На складе " << b << " ящиків, скільки вантажимо в " << i <> a; if (A == B) { cout << "На складе не осталось ящиков"; exit (0); }
Я взагалі кудись не туди пішов))) // вантажимо ящики з яблуками. Якщо не вистачає скриньок вантажимо все що залишилося #include using namespace std;
int main() { setlocale(LC_ALL, “rus”); ІНТ коробка = 654; // кількість ящиків з яблуками INT розпаковувати = 0; // скільки потрібно вивантажити ІНТ маш = 0; // кількість машин int i = 0; cout <> маш; // вводимо кількість машин for (;;) // нескінченний цикл навантаження (поки їсти яблука). Якщо не вистачає скриньок останню машину забиваємо до відвалу { cout << "Есть " << коробка << " ящиків з яблуками! " << "Сколько загрузить ящиков в машину № " << i + 1 <> розпаковувати; // визначаємо кількість ящиків які потрібно завантажити i ; // переходимо до наступної машині if ((коробка – розпаковувати) < 0) // ящиків недостатньо? вантажимо що залишилося і завершуємо програму { cout << "Нет столько ящиков! ви запросили " << розпаковувати << ", залишилося " << коробка << "!" << "\nВсе оставшиеся ящики погружены в машину № " << i << " Програма завершила роботу!\n"; break; } коробка - = розпаковувати; // вантажимо ящики маш - = 1; // відправляємо машину if (маш == 0) // якщо машин немає завершуємо цикл break; } cout << "Погрузка завершена! поки що! поки що!\n"; system("PAUSE"); return 0; }
ІНТ відвідувачів; ІНТ час; INT ALLTIME = 0; INT priceInHour = 50; INT сума;
cout <> відвідувачів; cout << endl; int i; for (i = 0; i < відвідувачів; i ) { cout << "Введитеr количество часов которое провел в зале " << i + 1 <> time; cout << endl; ALLTIME + = час;
}
сума = priceInHour * весь час; cout << "Общая сумма, яку відвідувачі заплатили за тренування = " << sum << endl << endl;
У вас в другому завданні, там де “Показать код” нижче, ошибка, написано – “Для самостоятельно задания …”, там має бути “Для самостійного завдання…”. Сайт дуже гарний, спасибі вам за старання :)
int main(){ setlocale(LC_ALL, “rus”); int a = 15;//загальна кількість ящиків на складі INT B = 0;//кількість ящиків занурюються в машину for(INT х = 1; ; х ++){ а- = Ь; if(A == 0){ cout<<"Ящиков на складе не осталось"; break; } cout<<"Сколько ящиков загрузить в "<<x<<"-ю машину (ящиков на складе "<<a<>b; while(1){ if(b>a){ cout<<"На складе нет столько ящиков, повторите ввод"<<endl; cout<<"Сколько ящиков загрузить в "<<x<<"-ю машину (ящиков на складе "<<a<>b; } else {break;} } } return 0; }
нормалек хлопців, вирішив. І до речі у автора на кшталт баг був в завданні, типу на складі залишилося – 65 ящиків (і т.п. тобто негативне кількість), у мене багів немає))
#include
using namespace std;
int main ()
{
int a /* кількість відвантажується */, b = 15 / * кількість на складі * /;
cout << "На складе " << b <> a;
for (int i / * Кількість машин * / = 1; (a > 0) && (a <= Ь) ; i )
{
if (A == 15)
{
cout << "На складе не осталось ящиков";
exit (0);
}
б - = а;
cout << "На складе " << b << " ящиків, скільки вантажимо в " << i <> a;
if (A == B)
{
cout << "На складе не осталось ящиков";
exit (0);
}
}
cout << "На складе нет столько ящиков";
}
Сперечаємося не працює?)
здається у мене занадто багато зайвого коду…
3 завдання:
#include “pch.h”
#include
using namespace std;
int main()
{
system(“CHCP тисячу двісті п'ятьдесят одна”);
system(“cls”);
cout << "На складе 15 ящиків" << endl;
INT I = 0 , макс = 15, num, сума = 0, sum1 = 0, sum2 = 0;
for (;;) {
cout << "Сколько погрузить в " << i + 1 << " машину?" <> num;
if (num <= макс – sum) сума = сума + num;
else {
cout << "Не больше чем : " << max – sum << endl;
cout << "Сколько погрузить в " << i + 1 << " машину?" <> num;
if (чи макс) cout << "Максимум 15!" << endl;
sum1 = сума – max;
sum2 = макс – sum;
if (sum < max) cout << " залишилося всього " << sum2 << " ящиків!" < max) {
cout << " залишилося всього " << sum1 << " ящиків!" << endl;
I - Num;
cout << " Скільки занурити в " << i << " машину?" <> num;
}
i = 1;
if (num > max) cout << "Максимум 15!" << endl;
else if (сума == макс)
break;
}
cout << "Вы погрузили все ящики!" << endl;
cin.get();
return 0;
}
Я взагалі кудись не туди пішов)))
// вантажимо ящики з яблуками. Якщо не вистачає скриньок вантажимо все що залишилося
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
ІНТ коробка = 654; // кількість ящиків з яблуками
INT розпаковувати = 0; // скільки потрібно вивантажити
ІНТ маш = 0; // кількість машин
int i = 0;
cout <> маш; // вводимо кількість машин
for (;;) // нескінченний цикл навантаження (поки їсти яблука). Якщо не вистачає скриньок останню машину забиваємо до відвалу
{
cout << "Есть " << коробка << " ящиків з яблуками! " << "Сколько загрузить ящиков в машину № " << i + 1 <> розпаковувати; // визначаємо кількість ящиків які потрібно завантажити
i ; // переходимо до наступної машині
if ((коробка – розпаковувати) < 0) // ящиків недостатньо? вантажимо що залишилося і завершуємо програму
{
cout << "Нет столько ящиков! ви запросили " << розпаковувати << ", залишилося " << коробка << "!" << "\nВсе оставшиеся ящики погружены в машину № " << i << " Програма завершила роботу!\n";
break;
}
коробка - = розпаковувати; // вантажимо ящики
маш - = 1; // відправляємо машину
if (маш == 0) // якщо машин немає завершуємо цикл
break;
}
cout << "Погрузка завершена! поки що! поки що!\n";
system("PAUSE");
return 0;
}
самостійне завдання
#include “pch.h”
#include
using namespace std;
int main() {
setlocale(0, “”);
ІНТ відвідувачів;
ІНТ час;
INT ALLTIME = 0;
INT priceInHour = 50;
INT сума;
cout <> відвідувачів;
cout << endl;
int i;
for (i = 0; i < відвідувачів; i ) {
cout << "Введитеr количество часов которое провел в зале " << i + 1 <> time;
cout << endl;
ALLTIME + = час;
}
сума = priceInHour * весь час;
cout << "Общая сумма, яку відвідувачі заплатили за тренування = " << sum << endl << endl;
return 0;
}
У вас в другому завданні, там де “Показать код” нижче, ошибка, написано – “Для самостоятельно задания …”, там має бути “Для самостійного завдання…”. Сайт дуже гарний, спасибі вам за старання :)
#include “pch.h”
#include
#include
#include
using namespace std;
int main() {
setlocale(LC_ALL, “rus”);
int arr[7] = { 0, 0, 0, 100, 0, 0, 0 };
cout << "Enter the number of visitors of the gym " <> arr[0]; //кількість посtтітелей
// arr3 наймолодший, arr4 найстаріший, arr5 середній вік, arr6 загальна сума для розрахунку серед…
for ( arr[1] = 0; arr[1] < arr[0]; arr[1]++ ) {
cout << " Введіть вік " << arr[1] + 1 << " кожен відвідувач :" <> arr[2]; //вік кожного відвідувача
if (arr[4] arr[2]) {
arr[3] = arr[2];
}
arr[6] += arr[2];
}
arr[5] = arr[6] / arr[0];
cout << "=========================================================" << endl;
cout << " Найдоросліший відвідувач – " << arr[4] << " років " << endl;
cout << " Наймолодший відвідувач – " << arr[3] << " років " << endl;
cout << " Середній вік відвідувачів " << arr[5] << " років" << endl;
}
#include
using namespace std;
int main(){
setlocale(LC_ALL, “rus”);
int a = 15;//загальна кількість ящиків на складі
INT B = 0;//кількість ящиків занурюються в машину
for(INT х = 1; ; х ++){
а- = Ь;
if(A == 0){
cout<<"Ящиков на складе не осталось";
break;
}
cout<<"Сколько ящиков загрузить в "<<x<<"-ю машину (ящиков на складе "<<a<>b;
while(1){
if(b>a){
cout<<"На складе нет столько ящиков, повторите ввод"<<endl;
cout<<"Сколько ящиков загрузить в "<<x<<"-ю машину (ящиков на складе "<<a<>b;
}
else {break;}
}
}
return 0;
}