Раз вы приступаете к задачам, значить вже знаєте що таке цикл 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 #include // Для використання функції setw()
#include using namespace std; void main() { setlocale(LC_ALL, “Rus”); int квадрат;
for ( ; ;) { cout << "Введите число для получения его значения в квадрате (0 = вихід)" <> Майдан; if (квадрат == 0) { cout << " Конец программы"; break; } cout << "Выше число в квадрате =" << Майдан * Майдан << endl; } }
простіший варіант #include using namespace std; int main() { setlocale(LC_ALL, “RU”); ІНТ коробка = 15; int a; int i = поле; INT х = 1; while ( i > 0) { cout << "Сколько ящиков кинуть "<<x<> a; i-= a; х ++; if (i == 0) cout << "Ящики закончилсь \n"; else if (i < 0) { cout << "Вы ввели неправильное значение ящиков у вас осталось: \n"; i += a; cout << i<<endl; x–; } } return 0; }
#include Рішення самостійного завдання(ставка від 1 до 10) using namespace std; int main(){ внутр;//кількість відвідувачів на день int time_1 = 5000;//сума за 1 година тренувань int summa_1;//Загальна сума, яку заплатили всі відвідувачі cout <> гул; int разів[гул]; INT Summa = 0;//загальна сума годин for(короткий час = 0; time < гул; час++){ cout << "Сколько часов провёл " << time + 1 <> раз[time]; сума += раз[time]; } cout << "Общая сумма часов: "<< сума << "ч."<< endl;
ІНТ коробка = 15; int forSale = 0; for (int i = 1; коробка > 0; i ) { cout << "Сейчас на складе " << коробка << " коробок із яблуками" << endl; cout << "Введите кол-во коробок для погрузки в " << i <> на продаж; if (на продаж > коробка) { for (;на продаж > коробка;) { cout << "На складе нет столько коробок" <> на продаж; } } коробка -= для продажу; } cout << "Все коробки были погружены" << endl;
ІНТ коробка = 15; int forSale = 0; for (int i = 1; коробка > 0; i ) { cout << "Сейчас на складе " << коробка << " коробок із яблуками" << endl; cout << "Введите кол-во коробок для погрузки в " << i <> на продаж; if (на продаж > коробка) { for (;на продаж > коробка;) { cout << "На складе нет столько коробок" <> на продаж; } } коробка -= для продажу; } cout << "Все коробки были погружены" << endl;
return 0; }
// Задача 2 ВІДПОВІДЬ #include int main() { using namespace std;
cout <> max; int* p = новий int[max]; подвійний срнум{}; for (int i{}; i < max; i ) { cout << "Enter age " << i + 1 <> *(p + i); srnum += (*(p + i) / max); } int tempMax = *p; int tempMin = *p;
for (int i = 1; i tempMax) tempMax = *(p + i); if (*(p+i)<tempMin) tempMin = *(p + i); } cout << "Maximum age: " << tempMax << endl; cout << "Minimum age: " << tempMin << endl;
#include
#include // Для використання функції setw()
int main() {
ІНТ коробка = 15;
int out = 0;
std::cout << "Now we have " << коробка << " boxes\n";
std::cout << "————————\n";
std::cout << "Truck\t| Boxes Loaded\n";
std::cout << "————————\n";
for (int i = 1;; i ) {
std::cout << i <> з;
if (з > коробка) {
std::cout << "We have only " << коробка << " boxes\n";
continue;
}
коробка -= вихід;
std::cout << "We have " << коробка << " boxes left\n";
if (коробка == 0)
break;
}
std::cout << "————————\n";
return 0;
}
#include
#include
int main() {
ІНТ коробка = 15;
int out = 0;
std::cout << "Now we have " << коробка << " boxes\n";
std::cout << "————————\n";
std::cout << "Truck\t| Boxes Loaded\n";
std::cout << "————————\n";
for (int i = 1;; i ) {
std::cout << i <> з;
if (з > коробка) {
std::cout << "We have only " << коробка << " boxes\n";
continue;
}
коробка -= вихід;
std::cout << "We have " << коробка << " boxes left\n";
if (коробка == 0)
break;
}
std::cout << "————————\n";
return 0;
}
#include
using namespace std;
void main()
{
setlocale(LC_ALL, “Rus”);
int квадрат;
for ( ; ;)
{
cout << "Введите число для получения его значения в квадрате (0 = вихід)" <> Майдан;
if (квадрат == 0)
{
cout << " Конец программы";
break;
}
cout << "Выше число в квадрате =" << Майдан * Майдан << endl;
}
}
простіший варіант
#include
using namespace std;
int main() {
setlocale(LC_ALL, “RU”);
ІНТ коробка = 15;
int a;
int i = поле;
INT х = 1;
while ( i > 0)
{
cout << "Сколько ящиков кинуть "<<x<> a;
i-= a;
х ++;
if (i == 0)
cout << "Ящики закончилсь \n";
else if (i < 0) {
cout << "Вы ввели неправильное значение ящиков у вас осталось: \n";
i += a;
cout << i<<endl;
x–;
}
}
return 0;
}
#include Рішення самостійного завдання(ставка від 1 до 10)
using namespace std;
int main(){
внутр;//кількість відвідувачів на день
int time_1 = 5000;//сума за 1 година тренувань
int summa_1;//Загальна сума, яку заплатили всі відвідувачі
cout <> гул;
int разів[гул];
INT Summa = 0;//загальна сума годин
for(короткий час = 0; time < гул; час++){
cout << "Сколько часов провёл " << time + 1 <> раз[time];
сума += раз[time];
}
cout << "Общая сумма часов: "<< сума << "ч."<< endl;
сума_1 = сума*час_1;
cout <<"Общая стоимость: " << summa_1 << "руб." << endl;
return 0;
}
3)Чутка мб наговнокодил, зате сам!
ІНТ коробка = 15;
std::cout << "Всего яблок – " << коробка << '\n';
for (int i = 1; i <= 15; ++i) {
int a, b;
std::cout << "В какую машину хотите закинуть яблоки?\n 1.Червонуn 2. Зелену" <> a;
if (A == 1) {
std::cout <> b;
коробка-=б;
system(“cls”);
}
if (A == 2) {
std::cout <> b;
коробка-=б;
system(“cls”);
}
std::cout << "\nЯблок осталось – " << коробка << '\n';
if (коробка == 0) {
system("cls");
break;
}
}
std::cout << "Яблоки кончились…";
Годиться?
#include
using namespace std;
int main() {
setlocale(LC_ALL, “RU”);
ІНТ коробка = 15;
int forSale = 0;
for (int i = 1; коробка > 0; i ) {
cout << "Сейчас на складе " << коробка << " коробок із яблуками" << endl;
cout << "Введите кол-во коробок для погрузки в " << i <> на продаж;
if (на продаж > коробка) {
for (;на продаж > коробка;) {
cout << "На складе нет столько коробок" <> на продаж;
}
}
коробка -= для продажу;
}
cout << "Все коробки были погружены" << endl;
return 0;
}
cin не запостилося круто
чж
#include
using namespace std;
int main() {
setlocale(LC_ALL, "RU");
ІНТ коробка = 15;
int forSale = 0;
for (int i = 1; коробка > 0; i ) {
cout << "Сейчас на складе " << коробка << " коробок із яблуками" << endl;
cout << "Введите кол-во коробок для погрузки в " << i <> на продаж;
if (на продаж > коробка) {
for (;на продаж > коробка;) {
cout << "На складе нет столько коробок" <> на продаж;
}
}
коробка -= для продажу;
}
cout << "Все коробки были погружены" << endl;
return 0;
}
// Задача 2 ВІДПОВІДЬ
#include
int main()
{
using namespace std;
cout <> max;
int* p = новий int[max];
подвійний срнум{};
for (int i{}; i < max; i )
{
cout << "Enter age " << i + 1 <> *(p + i);
srnum += (*(p + i) / max);
}
int tempMax = *p;
int tempMin = *p;
for (int i = 1; i tempMax)
tempMax = *(p + i);
if (*(p+i)<tempMin)
tempMin = *(p + i);
}
cout << "Maximum age: " << tempMax << endl;
cout << "Minimum age: " << tempMin << endl;
cout << "Average age: " << срнум;
}
наприкінці delete [ ] p;
для звільнення пам'яті, на яку вказує покажчик