Раз вы приступаете к задачам, значить вже знаєте що таке цикл 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, “RU”); int peopleDay; cout << "Введите количество посетителей : " <> людиДень; int sum = 0; int* arrPeopleAge = новий int[людиДень]; //створення динамічного масиву
for (int i = 0; i < людиДень; i ) { cout << "Введите возраст посетителя" <> arrPeopleAge[i]; сума = сума + arrPeopleAge[i]; }
int maxAge = arrPeopleAge[0]; int minAge = arrPeopleAge[0];
for (int i = 0; i < людиДень; i ) { if (maxAge arrPeopleAge[i]) { minAge = arrPeopleAge[i]; } }
ІНТ відвідувачів; int age; int min_age = 999; int max_age = 0; int середній_вік = 0; ІНТ час; подвійні гроші_за_годину = 0; int general_money = 0;
std::cout << "Введите стоимость одного часа занятий в спортзале" <> гроші_за_годину; std::cout << "Введите кол-во посетителей" <> відвідувачів;
for (int i = 0; i < відвідувачів; i ) { std::cout << "Введите возраст посетителя №" << i + 1 <> age; if (вік max_age) { максимальний_вік = вік; } середній_вік = (середній_вік + age) ; } for (int i = 0; i < відвідувачів; i ) { std::cout << "Введите время проведенное в зале посетителем №" << i + 1 <> time; загальні_гроші = загальні_гроші + time * гроші_за_годину; } std::cout << "Минимальный возраст посетителя – " << мінімальний вік << ", а максимальний – " << max_age << std::endl; std::cout << "Средний возраст равен " << середній_вік / відвідувачів << std::endl; std::cout << "Общий доход за день составляет " << загальні_гроші << std::endl; return 0; }
int main() { setlocale(0, “”); INT х; cout <> x; int *a=новий int[x];//кількість відвідувачів макс; ІНТ хв;//вік плавають серед; float summ=0; int j = 1;//порядковий номер
for (int i = 0; i < x; i ) { cout << "введите возраст посетителя № " << j <> a[i]; j ; } J = 1;//порядковий номер for (int i = 0; i < x; i ) { cout <<"посетитель № "<<j<<", вік: "<<a[i] << "\n"; j ; } макс = а[0]; for (int i = 0; i < x; i ) { if (max < a[i]) { макс = а[i]; }
} cout << "максимальный возраст: " << max << "\n"; мін = а[0]; for (int i = 0; я а[i]) { мін = а[i]; } } cout << "минимальный возраст: " << min << "\n"; for (int i = 0; i < x; i ) { сума += а[i]; } sred = summ / x; cout << "средний возраст: " << SRED << "\n"; }
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “RU”);
int peopleDay;
cout << "Введите количество посетителей : " <> людиДень;
int sum = 0;
int* arrPeopleAge = новий int[людиДень]; //створення динамічного масиву
for (int i = 0; i < людиДень; i )
{
cout << "Введите возраст посетителя" <> arrPeopleAge[i];
сума = сума + arrPeopleAge[i];
}
int maxAge = arrPeopleAge[0];
int minAge = arrPeopleAge[0];
for (int i = 0; i < людиДень; i )
{
if (maxAge arrPeopleAge[i])
{
minAge = arrPeopleAge[i];
}
}
cout << "Максимальный возраст посетителя : " << maxAge << endl;
cout << "Минимальный возраст посетителя : " << minAge << endl;
cout << "Средний возраст посетителя : " << сума/людидень << endl;
delete[] arrPeopleAge; // видалення динамічного масиву
}
int main() {
setlocale(0, “”);
ІНТ відвідувачів;
int age;
int min_age = 999;
int max_age = 0;
int середній_вік = 0;
ІНТ час;
подвійні гроші_за_годину = 0;
int general_money = 0;
std::cout << "Введите стоимость одного часа занятий в спортзале" <> гроші_за_годину;
std::cout << "Введите кол-во посетителей" <> відвідувачів;
for (int i = 0; i < відвідувачів; i ) {
std::cout << "Введите возраст посетителя №" << i + 1 <> age;
if (вік max_age) {
максимальний_вік = вік;
}
середній_вік = (середній_вік + age) ;
}
for (int i = 0; i < відвідувачів; i ) {
std::cout << "Введите время проведенное в зале посетителем №" << i + 1 <> time;
загальні_гроші = загальні_гроші + time * гроші_за_годину;
}
std::cout << "Минимальный возраст посетителя – " << мінімальний вік << ", а максимальний – " << max_age << std::endl;
std::cout << "Средний возраст равен " << середній_вік / відвідувачів << std::endl;
std::cout << "Общий доход за день составляет " << загальні_гроші << std::endl;
return 0;
}
Задача 1 через do while
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “російський”);
INT num1{ 0 };
char p = 'y';
do
{ cout <> num1;
cin.ignore(32767, «n»);
cout << "Квадрат числа " << num1 << " равен " << число1*число1;
cout <> p;
} while (p == ‘y’ || p == «Y»);
cin.get();
return 0;
}
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “російський”);
INT число = 1;;
for (;;) {
if (номер == 1) {
cout <> number;
cout << "Квадрат числа " << number << " равен: ";
число = число * number;
cout << number << "\nХотите продолжить? (1 – "nХочете продовжити, "nХочете продовжити – для зупинки." <> number;
if (number >= 2 || number < 0) {
break;
}
}
}
return 0;
}
"nХочете продовжити)
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “російський”);
int i;
ІНТ ч;
cout <> i;
for (;;) // запуск бесконечного цикла
{
cout << "Число, "nХочете продовжити : " << бух(i, 2) << endl;
if ("nХочете продовжити–)
break;
}
for (;;) {
cout <> ч;
if (ч > 0)
break;
if (ч == 0) {
cout << "Здорово, "nХочете продовжити!" << endl;
for (;;) // запуск бесконечного цикла
{
cout <> i;
cout << "Число, "nХочете продовжити : " << бух(i, 2) < 0) {
cout << "Охуенно, Бувай!";
}
}
#include
using namespace std;
int main()
{
setlocale(0, “”);
INT х;
cout <> x;
int *a=новий int[x];//кількість відвідувачів
макс;
ІНТ хв;//вік
плавають серед;
float summ=0;
int j = 1;//порядковий номер
for (int i = 0; i < x; i )
{
cout << "введите возраст посетителя № " << j <> a[i];
j ;
}
J = 1;//порядковий номер
for (int i = 0; i < x; i )
{
cout <<"посетитель № "<<j<<", вік: "<<a[i] << "\n";
j ;
}
макс = а[0];
for (int i = 0; i < x; i )
{
if (max < a[i])
{
макс = а[i];
}
}
cout << "максимальный возраст: " << max << "\n";
мін = а[0];
for (int i = 0; я а[i])
{
мін = а[i];
}
}
cout << "минимальный возраст: " << min << "\n";
for (int i = 0; i < x; i )
{
сума += а[i];
}
sred = summ / x;
cout << "средний возраст: " << SRED << "\n";
}
#include
#include
using namespace std;
bool checkInput(bool checkInput)
{
if (Sinkfail())
{
Sinkclear();
cin.ignore(32767, «n»);
cout << "Invalid sign.Try again.\n";
повернення помилковим;
}
if (температура < 0)
{
cout << "This integer can't be negative.Try again.\n";
повернення помилковим;
}
повертає істину;
}
int main()
{
int number, maxAge, minAge;
bool checkInput:
cout <> number;
if (!bool checkInput(number))
{
bool checkInput;
}
Sinkclear();
cin.ignore(32767, «n»);
bool checkInput(number);
maxAge = 0;
minAge = 1000;
if (номер == 0)
{
cout << "The gym was empty today.\n";
return 0;
}
for (int i = 0; i < number; i )
{
bool checkInput:
cout << "The age of " << i + 1 <> age[i];
if (!bool checkInput(age[i]))
{
bool checkInput;
}
Sinkclear();
cin.ignore(32767, «n»);
if (bool checkInput[i])
minAge = age[i];
}
cout << "So:\bool checkInput " << maxAge << "\nThe youngest person is of age " << minAge << endl;
bool checkInput 0;
for (int i = 0; i < bool checkInput(); i )
{
bool checkInput[i];
}
bool checkInput;
cout << "Arithmetic mean is " << bool checkInput << endl;
}
2-bool checkInput,bool checkInput
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “RU”);
int STOP;
int STOP 0;
int STOP 0;
cout <> олівець-6231c0822ec7c290756671/;
for(;;)
if (int STOP)
{
cout << "session ended"<< endl;
break;
}
else
{
cout << олівець-6231c0822ec7c290756671/ * олівець-6231c0822ec7c290756671/ << "" << "\n" << "Enter STOP – int STOP" <> олівець-6231c0822ec7c290756671/;
}