Имеется полоска, состоящая из N одинаковых клеточек. Клеточки могут быть двух цветов: белого и черного. При этом в любом месте полоски черные клетки должны образовывать блоки длиной не менее трех. Ограничений на расположение белых клеток нет. Сколько разных покраски полоски существует? Формат ввода
В единственной строке входного файла записано одно натуральное число N ( 1 ≤ N ≤ 300) – количество клеточек в полоске.
Формат вывода
Выведите одно целое число – ответ к задаче.
Д – драмкружок,
Х – хор,
С – спорт.Тогда
в круге Д – 27 ребят,
в круге Х – 32 человека,
в круге С – 22 ученика.Те 10 ребят из драмкружка, которые поют в хоре, окажутся в общей части кругов Д и X. Трое из них ещё и спортсмены, они окажутся в общей части всех трёх кругов. Остальные семеро спортом не увлекаются. Аналогично, 8 – 3 = 5 спортсменов, не поющих в хоре и 6 – 3 = 3, не посещающих драмкружок.Легко видеть, что 5 + 3 + 3 = 11 спортсменов посещают хор или драмкружок,22 – (5 + 3 + 3) = 11 занимаются только спортом; 70 – (11 + 12 + 19 + 7 + 3 + 3 + 5) = 10 – не поют в хоре, не занимаются в драмкружке, не увлекаются спортом.ответ: 10 человек и 11 человек.
// delete.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#define m 5
#define n 2
using namespace std;
struct Fio
{
char fam[100];
char name[100];
char otchestvo[100];
};
struct Birthday
{
int day;
int mounth;
int year;
};
struct Address
{
char street[100];
char house[100];
int apart;
};
struct Mark
{
char object[100];
int grade;
};
struct STUDENT
{
Fio f;
Birthday b;
Address a;
char number[10];
char facul[100];
char group[100];
int course;
Mark M[5];
};
int main(void)
{
setlocale(LC_ALL, "rus");
/*№1*/
cout << " ---Задание №1---" << endl << " [Ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT]" << endl;
STUDENT s[2];
for (int i = 0; i < n; i++)
{
cout << "Familiya: "; cin >> s[i].f.fam;
cout << "Name: "; cin >> s[i].f.name;
cout << "Otchestvo: "; cin >> s[i].f.otchestvo;
cout << "Day: "; cin >> s[i].b.day;
cout << "Mounth: "; cin >> s[i].b.mounth;
cout << "Year: "; cin >> s[i].b.year;
cout << "Street: "; cin >> s[i].a.street;
cout << "House: "; cin >> s[i].a.house;
cout << "Apartment: "; cin >> s[i].a.apart;
cout << "Phone Number: "; cin >> s[i].number;
cout << "Faculty: "; cin >> s[i].facul;
cout << "Group: "; cin >> s[i].group;
cout << "Course: "; cin >> s[i].course;
cout << endl;
cout << "Mark:" << endl;
for (int j = 0; j < m; j++)
{
cout << "Object: "; cin >> s[i].M[j].object;
cout << "Grade: "; cin >> s[i].M[j].grade;
}
cout << endl;
}
cout << endl;
/*№2*/
cout << " ---Задание №2---" << endl << " [Вывод на экран данных из массива типа STUDENT]" << endl;
for (int i = 0; i < n; i++)
{
cout << "1) FIO:";
cout << s[i].f.fam << " " << s[i].f.name << " " << s[i].f.otchestvo << endl;
cout << "2) Birthday:";
cout << s[i].b.day << "." << s[i].b.mounth << "." << s[i].b.year << endl;
cout << "3) Adress";
cout << s[i].a.street << "," << s[i].a.house << "," << s[i].a.apart << endl;
cout << "4) Telephone Number:";
cout << s[i].number << endl;
cout << "5) Faculty" << " ";
cout << s[i].facul << "," << s[i].course << "," << s[i].group << endl;
cout << "6) Mark:" << endl;
for (int j = 0; j < m; j++)
{
cout << s[i].M[j].object << " : ";
cout << s[i].M[j].grade << endl;
}
}
_getch();
}
Объяснение:
cout << "Familiya: "; cin >> s[i].f.name;
cout << "Name: "; cin >> s[i].f.name;
s[i].f.fam выводило мусор, т.к. ты ничего не записал
Пример вывода в приложенном файле