master
			
			
		
		
						Сommit
						b616275308
					
				| @ -0,0 +1,3 @@ | |||||||
|  | @echo off | ||||||
|  | g++ -o general_program general_program.cpp | ||||||
|  | general_program.exe < input.txt > output_general.txt | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | @echo off | ||||||
|  | 
 | ||||||
|  | g++ individual_program.cpp -o individual_program.exe | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | individual_program.exe < input.txt > output_individual.txt | ||||||
|  | 
 | ||||||
|  | fc output_individual.txt expected_output.txt | ||||||
|  | pause | ||||||
| @ -0,0 +1,2 @@ | |||||||
|  | Number of columns: 2 | ||||||
|  | Formula used: Square root formula (sqrt(N)) | ||||||
| @ -0,0 +1,48 @@ | |||||||
|  | 
 | ||||||
|  | #include <iostream> | ||||||
|  | #include <vector> | ||||||
|  | #include <algorithm> | ||||||
|  | #include <iomanip> | ||||||
|  | using namespace std; | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |     size_t number_count; | ||||||
|  |     cout << "Enter number count: "; | ||||||
|  |     cin >> number_count; | ||||||
|  | 
 | ||||||
|  |     vector<double> numbers(number_count); | ||||||
|  |     cout << "Enter numbers:\n"; | ||||||
|  |     for (size_t i = 0; i < number_count; ++i) { | ||||||
|  |         cin >> numbers[i]; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     size_t bin_count; | ||||||
|  |     cout << "Enter number of bins: "; | ||||||
|  |     cin >> bin_count; | ||||||
|  | 
 | ||||||
|  |     double min = *min_element(numbers.begin(), numbers.end()); | ||||||
|  |     double max = *max_element(numbers.begin(), numbers.end()); | ||||||
|  |     double bin_size = (max - min) / bin_count; | ||||||
|  | 
 | ||||||
|  |     vector<size_t> bins(bin_count, 0); | ||||||
|  |     for (double number : numbers) { | ||||||
|  |         size_t bin_index = static_cast<size_t>((number - min) / bin_size); | ||||||
|  |         if (bin_index >= bin_count) bin_index = bin_count - 1; | ||||||
|  |         bins[bin_index]++; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     size_t max_bin_count = *max_element(bins.begin(), bins.end()); | ||||||
|  |     const size_t max_width = 80; | ||||||
|  |     double scaling_factor = max_bin_count > max_width ? static_cast<double>(max_width) / max_bin_count : 1.0; | ||||||
|  | 
 | ||||||
|  |     for (size_t i = 0; i < bin_count; ++i) { | ||||||
|  |         cout << bins[i] << "|"; | ||||||
|  |         size_t scaled_height = static_cast<size_t>(bins[i] * scaling_factor); | ||||||
|  |         for (size_t j = 0; j < scaled_height; ++j) { | ||||||
|  |             cout << '*'; | ||||||
|  |         } | ||||||
|  |         cout << '\n'; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @ -0,0 +1,33 @@ | |||||||
|  | #include <iostream> | ||||||
|  | #include <cmath> | ||||||
|  | 
 | ||||||
|  | using namespace std; | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |     int N; | ||||||
|  |     cout << "Enter the total number of elements (N): "; | ||||||
|  |     cin >> N; | ||||||
|  | 
 | ||||||
|  |     int columns; | ||||||
|  |     string formula_used; | ||||||
|  | 
 | ||||||
|  |     if (N == 0) { | ||||||
|  |         columns = 0; | ||||||
|  |         formula_used = "None (N is 0)"; | ||||||
|  |     } else { | ||||||
|  |         double sqrt_value = sqrt(N); | ||||||
|  | 
 | ||||||
|  |         if (sqrt_value > 25) { | ||||||
|  |             columns = 1 + static_cast<int>(log2(N)); | ||||||
|  |             formula_used = "Sturges' formula (1 + floor(log2(N)))"; | ||||||
|  |         } else { | ||||||
|  |             columns = static_cast<int>(sqrt_value); | ||||||
|  |             formula_used = "Square root formula (sqrt(N))"; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     cout << "Number of columns: " << columns << endl; | ||||||
|  |     cout << "Formula used: " << formula_used << endl; | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | 7 | ||||||
|  | 1 2 2 3 3 3 4 | ||||||
|  | 4 | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | Enter number count: Enter numbers: | ||||||
|  | Enter number of bins: 1|* | ||||||
|  | 2|** | ||||||
|  | 3|*** | ||||||
|  | 1|* | ||||||
| @ -0,0 +1,2 @@ | |||||||
|  | Enter the total number of elements (N): Number of columns: 2 | ||||||
|  | Formula used: Square root formula (sqrt(N)) | ||||||
| @ -0,0 +1,45 @@ | |||||||
|  | 
 | ||||||
|  | #include <iostream> | ||||||
|  | #include <iomanip> | ||||||
|  | #include <cstdint> | ||||||
|  | using namespace std; | ||||||
|  | 
 | ||||||
|  | void print_in_hex(uint8_t byte) { | ||||||
|  |     cout << hex << setw(2) << setfill('0') << static_cast<int>(byte) << " "; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void print_in_hex(const void* data, size_t size) { | ||||||
|  |     const uint8_t* bytes = static_cast<const uint8_t*>(data); | ||||||
|  |     for (size_t i = 0; i < size; ++i) { | ||||||
|  |         print_in_hex(bytes[i]); | ||||||
|  |         if ((i + 1) % 16 == 0) cout << endl; | ||||||
|  |     } | ||||||
|  |     cout << endl; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void print_in_binary(uint8_t byte) { | ||||||
|  |     for (int i = 7; i >= 0; --i) cout << ((byte >> i) & 1); | ||||||
|  |     cout << " "; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void print_in_binary(const void* data, size_t size) { | ||||||
|  |     const uint8_t* bytes = static_cast<const uint8_t*>(data); | ||||||
|  |     for (size_t i = 0; i < size; ++i) { | ||||||
|  |         print_in_binary(bytes[i]); | ||||||
|  |         if ((i + 1) % 4 == 0) cout << endl; | ||||||
|  |     } | ||||||
|  |     cout << endl; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |     uint8_t data[] = {0xDE, 0xAD, 0xBE, 0xEF, 0x12, 0x34, 0x56, 0x78}; | ||||||
|  |     size_t size = sizeof(data); | ||||||
|  | 
 | ||||||
|  |     cout << "Hexadecimal representation:" << endl; | ||||||
|  |     print_in_hex(data, size); | ||||||
|  | 
 | ||||||
|  |     cout << "Binary representation:" << endl; | ||||||
|  |     print_in_binary(data, size); | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @ -0,0 +1,31 @@ | |||||||
|  | 
 | ||||||
|  | #include <iostream> | ||||||
|  | #include <iomanip> | ||||||
|  | #include <bitset> | ||||||
|  | using namespace std; | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |     uint16_t operand1, operand2; | ||||||
|  |     char operation; | ||||||
|  | 
 | ||||||
|  |     cout << "Enter first operand: "; | ||||||
|  |     cin >> operand1; | ||||||
|  |     cout << "Enter operation (&, |, ^): "; | ||||||
|  |     cin >> operation; | ||||||
|  |     cout << "Enter second operand: "; | ||||||
|  |     cin >> operand2; | ||||||
|  | 
 | ||||||
|  |     uint16_t result = 0; | ||||||
|  |     if (operation == '&') result = operand1 & operand2; | ||||||
|  |     else if (operation == '|') result = operand1 | operand2; | ||||||
|  |     else if (operation == '^') result = operand1 ^ operand2; | ||||||
|  |     else { | ||||||
|  |         cout << "Invalid operation" << endl; | ||||||
|  |         return 1; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     cout << "Hexadecimal: " << hex << setw(4) << setfill('0') << result << endl; | ||||||
|  |     cout << "Binary: " << bitset<16>(result) << endl; | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @ -0,0 +1,40 @@ | |||||||
|  | 
 | ||||||
|  | #include <iostream> | ||||||
|  | #include <iomanip> | ||||||
|  | #include <cstring> | ||||||
|  | #include <cstdint> | ||||||
|  | using namespace std; | ||||||
|  | 
 | ||||||
|  | struct Student { | ||||||
|  |     char name[17]; | ||||||
|  |     uint16_t enrollment_year; | ||||||
|  |     float gpa; | ||||||
|  |     uint8_t gender : 1; // 0 = female, 1 = male
 | ||||||
|  |     uint8_t courses_completed; | ||||||
|  |     Student* group_leader; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | void print_memory_info(const Student& student) { | ||||||
|  |     cout << "Name address: " << &student.name << ", size: " << sizeof(student.name) << endl; | ||||||
|  |     cout << "Year address: " << &student.enrollment_year << ", size: " << sizeof(student.enrollment_year) << endl; | ||||||
|  |     cout << "GPA address: " << &student.gpa << ", size: " << sizeof(student.gpa) << endl; | ||||||
|  |     cout << "Gender address: " << &student.gender << ", size: 1 bit" << endl; | ||||||
|  |     cout << "Courses address: " << &student.courses_completed << ", size: " << sizeof(student.courses_completed) << endl; | ||||||
|  |     cout << "Leader address: " << &student.group_leader << ", size: " << sizeof(student.group_leader) << endl; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |     Student students[3] = { | ||||||
|  |         {"Alice", 2021, 3.8, 0, 5, nullptr}, | ||||||
|  |         {"Bob", 2021, 3.5, 1, 4, nullptr}, | ||||||
|  |         {"Charlie", 2020, 3.9, 1, 6, &students[0]} | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     for (size_t i = 0; i < 3; ++i) { | ||||||
|  |         cout << "Student " << i + 1 << " memory info:" << endl; | ||||||
|  |         print_memory_info(students[i]); | ||||||
|  |         cout << endl; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @ -0,0 +1,63 @@ | |||||||
|  | 
 | ||||||
|  | #include <iostream> | ||||||
|  | #include <fstream> | ||||||
|  | #include <cstring> | ||||||
|  | using namespace std; | ||||||
|  | 
 | ||||||
|  | bool is_valid_filename(const char* filename) { | ||||||
|  |     const char* invalid_chars = "*<>?|"; | ||||||
|  |     if (strpbrk(filename, invalid_chars)) return false; | ||||||
|  | 
 | ||||||
|  |     const char* colon = strchr(filename, ':'); | ||||||
|  |     if (colon && (colon != filename + 1 || !isalpha(filename[0]) || colon[1] != '\n')) return false; | ||||||
|  | 
 | ||||||
|  |     const char* ext = strrchr(filename, '.'); | ||||||
|  |     if (ext && strcasecmp(ext, ".txt") != 0) return false; | ||||||
|  | 
 | ||||||
|  |     return true; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void add_txt_extension(char* filename) { | ||||||
|  |     strcat(filename, ".txt"); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |     char filename[256]; | ||||||
|  |     cout << "Enter filename: "; | ||||||
|  |     cin >> filename; | ||||||
|  | 
 | ||||||
|  |     if (!is_valid_filename(filename)) { | ||||||
|  |         cout << "Invalid filename." << endl; | ||||||
|  |         return 1; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if (!strrchr(filename, '.')) add_txt_extension(filename); | ||||||
|  | 
 | ||||||
|  |     ifstream file(filename, ios::binary | ios::ate); | ||||||
|  |     if (!file.is_open()) { | ||||||
|  |         cout << "Failed to open file." << endl; | ||||||
|  |         return 1; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     streamsize size = file.tellg(); | ||||||
|  |     file.seekg(0, ios::beg); | ||||||
|  | 
 | ||||||
|  |     char* buffer = new char[size]; | ||||||
|  |     file.read(buffer, size); | ||||||
|  | 
 | ||||||
|  |     char search[256]; | ||||||
|  |     cout << "Enter string to search: "; | ||||||
|  |     cin >> search; | ||||||
|  | 
 | ||||||
|  |     size_t count = 0; | ||||||
|  |     char* pos = buffer; | ||||||
|  |     while ((pos = strstr(pos, search))) { | ||||||
|  |         ++count; | ||||||
|  |         pos += strlen(search); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     cout << "Occurrences: " << count << endl; | ||||||
|  | 
 | ||||||
|  |     delete[] buffer; | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче
	
	 ruddos
						ruddos