Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#include <stdio.h>

int main() {
int num1 = 1, num2 = 1, result = 0, sum = 0;

for (int i = 0; result <= 1000000; i++) {
result = num1 + num2;
num1 = num2;
num2 = result;

if (result % 2 == 0) {
sum = sum + result;
}
}

printf("Сумма чётных чисел Фибоначчи, не превосходящих миллиона: %d", sum);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#include <stdio.h>
#include <string.h>

int main() {
char str[1000];
printf("Введите строку (на английском): ");
fgets(str, sizeof(str), stdin);

// Убираем символ новой строки
str[strcspn(str, "\n")] = '\0';

int left = 0;
int right = strlen(str) - 1;
int is_palindrome = 1;

while (left < right) {
// Пропускаем пробелы слева
while (left < right && str[left] == ' ') {
left++;
}

// Пропускаем пробелы справа
while (left < right && str[right] == ' ') {
right--;
}

// Если после пропуска пробелов указатели встретились - выходим
if (left >= right) {
break;
}

// Сравниваем символы с учетом регистра
if (str[left] != str[right]) {
is_palindrome = 0;
break;
}

// Двигаем указатели к центру
left++;
right--;
}

if (is_palindrome) {
printf("Строка является палиндромом.\n");
} else {
printf("Строка не является палиндромом.\n");
}

return 0;
}
55 changes: 55 additions & 0 deletions Control-works/Control-work-No.1/Rewriting/Task_3/src/Sorting.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#include <stdio.h>

// Функция для обмена двух элементов
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}

// Гномья сортировка
void gnomeSort(int arr[], int n) {
int i = 1, j = 2;

while (i < n) {
if (arr[i - 1] <= arr[i]) { // Если элементы в правильном порядке
i = j;
j = j + 1;
} else { // Если элементы в неправильном порядке
swap(&arr[i - 1], &arr[i]);
i = i - 1;
if (i == 0) {
i = j;
j = j + 1;
}
}
}
}

// Функция для вывода массива
void printArray(int arr[], int n) {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}

int main() {
int arr[] = {4, 2, 10, 7, 3, 1, 9, 6, 5, 8};
int length = sizeof(arr) / sizeof(arr[0]);

printf("Исходный массив: ");
printArray(arr, length);

// Копируем массив для двух разных сортировок
int arr1[length];
for (int i = 0; i < length; i++) {
arr1[i] = arr[i];
}

gnomeSort(arr1, length);
printf("Отсортированый массив: ");
printArray(arr1, length);

return 0;
}
60 changes: 60 additions & 0 deletions Control-works/Control-work-No.1/Task_1/Fibonacci.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#include <stdio.h>



int fibonacci(int count)
{
int a = 1;
int b = 1;
int c = 0;
int n = 3;

while(n <= count)
{
c = a + b;
a = b;
b = c;
n++;
}

return c;
}


int main(void)
{
int number;

printf("Введите n: ");
scanf("%d", &number);

if (number < 0)
{
printf("Число n не должно быть отритцательнвм\n");
}

else if (number == 0)
{
printf("Нулевого числа Фибоначи не существует\n");
}

else if (number == 1 | number == 2)
{
printf("Число %d: 1\n", number);
}

else
{
if (number >= 47)
{
printf("Результат ниже может быть аномальным из-за использования типа int:\n");
}

int result = fibonacci(number);
printf("Число %d: %d\n", number, result);
}

return 0;
}


38 changes: 38 additions & 0 deletions Control-works/Control-work-No.1/Task_2/Sorting-by-choice.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#include <stdio.h>

void selection_sort(int array[], int length)
{
for (int n = 0; n < length - 1; n++)
{
int min = n;
for (int j = n + 1; j < length; j++)
{
if (array[j] < array[min])
{
min = j;
}
}

int temp = array[n];
array[n] = array[min];
array[min] = temp;
}
}

int main(void)
{
int arr[10] = {124, 828, 643, 820, 572, 5735, 5902, 55, 90, 12};
int l = sizeof(arr) / sizeof(arr[0]);



selection_sort(arr, l);

for (int i = 0; i < l; i++)
{
printf("%d ", arr[i]);
}
printf("\n");

return 0;
}
Loading