Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задачи прога экз 1 сем.docx
Скачиваний:
1
Добавлен:
31.12.2025
Размер:
3.73 Mб
Скачать

Int main() {

int a1[N] = { 5, 1, 3, 4, 2 };

int a2[N] = { 8, 7, 9, 6, 10 };

int a3[2 * N];

// Сортировка a1 по возрастанию

sort_asc(a1, N);

// Сортировка a2 по убыванию

sort_desc(a2, N);

// Объединение в третий массив

for (int i = 0; i < N; i++) a3[i] = a1[i];

for (int i = 0; i < N; i++) a3[N + i] = a2[i];

// Сортировка a3 по возрастанию

sort_asc(a3, 2 * N);

// Вывод результатов

print_array("a1 (возр)", a1, N);

print_array("a2 (убыв)", a2, N);

print_array("a3 (общий, возр)", a3, 2 * N);

return 0;

}

Вставить заданный элемент в исходную позицию (отодвинуть и в освободившееся место вставить новый элемент; в подпрограмме + тестирование)

#include <stdio.h>

#define MAX 100

void insert_element(int arr[], int* n, int pos, int value) {

// Сдвигаем элементы вправо, начиная с конца до позиции pos

for (int i = *n; i > pos; i--) {

arr[i] = arr[i - 1];

}

arr[pos] = value;

(*n)++;

}

void print_array(int arr[], int n) {

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

printf("\n");

}

Int main() {

int arr[MAX] = { 10, 20, 30, 40, 50 };

int n = 5;

int pos = 2;

int val = 99;

printf("Исходный массив:\n");

print_array(arr, n);

insert_element(arr, &n, pos, val);

printf("После вставки %d в позицию %d:\n", val, pos);

print_array(arr, n);

return 0;

}

Найти корни уравнения и подставить в формулу, проверка на 0, коэффициенты заданы массивами

#include <stdio.h>

#include <math.h>

double poly(double c[], double x) {

return c[0] * x * x + c[1] * x + c[2];

}

Int main() {

double c[3] = { 1, -3, 2 }; // Пример: x^2 - 3x + 2 = 0

double a = c[0], b = c[1], cc = c[2];

double d = b * b - 4 * a * cc;

if (a == 0) {

printf("a=0, не квадратное уравнение\n");

return 0;

}

if (d < 0) {

printf("Корней нет\n");

}

else if (d == 0) {

double x = -b / (2 * a);

printf("Один корень: %.6f\n", x);

printf("Проверка: %.6f\n", poly(c, x));

}

else {

double x1 = (-b + sqrt(d)) / (2 * a);

double x2 = (-b - sqrt(d)) / (2 * a);

printf("Корни: %.6f и %.6f\n", x1, x2);

printf("Проверка 1: %.6f\n", poly(c, x1));

printf("Проверка 2: %.6f\n", poly(c, x2));

}

return 0;

}

Перевод чисел из двоичной в шестнадцатеричную , из восьмеричной в шестнадцатеричную (отдельно оформить перевод целого и дробного числа подпрограммой)

Из 2 в 16

#include <iostream>

#include <string>

using namespace std;

string table[] = { "","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F" };

string binIntToHex(string s) {

while (s.length() % 4 != 0) s = '0' + s;

string res, tmp;

int cnt = 0;

for (char ch : s) {

tmp += ch; cnt++;

if (cnt == 4) {

int val = 8 * (tmp[0] - '0') + 4 * (tmp[1] - '0') + 2 * (tmp[2] - '0') + (tmp[3] - '0');

res += table[val];

tmp = ""; cnt = 0;

}

}

return res;

}

string binFracToHex(string s) {

while (s.length() % 4 != 0) s += '0';

string res, tmp;

int cnt = 0;

for (char ch : s) {

tmp += ch; cnt++;

if (cnt == 4) {

int val = 8 * (tmp[0] - '0') + 4 * (tmp[1] - '0') + 2 * (tmp[2] - '0') + (tmp[3] - '0');

res += table[val];

tmp = ""; cnt = 0;

}

}

return res;

}

Соседние файлы в предмете Программирование