Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define _CRT_SECURE_NO_WARNINGS
- //реализовать все функции работая пока только с целыми числами, потом скопипастить и поставить флоат
- //потом посмотреть на код, который скинул лабник
- typedef struct linear_form_int {
- int n;
- int* c;
- } linear_form_int;
- linear_form_int create_lf_int(int n) {
- linear_form_int lf;
- lf.n = n;
- lf.c = calloc(n, n * sizeof(int)); //Я знаю, что лучше вместо int, использовать typeof()
- printf("Ввод коэффициентов при X");
- for (int i = 0; i < n; ++i) {
- lf.c[i] = 0;
- printf("C%d*x%d, где C%d = ", i, i, i);
- scanf('%d', &(lf.c[i]));
- printf("\n");
- }
- return lf;
- }
- linear_form_int add_lf_int(linear_form_int* lf1, linear_form_int* lf2) {
- int min_n = (*lf1).n > (*lf2).n ? (*lf2).n : (*lf1).n;
- int max_n = (*lf1).n < (*lf2).n ? (*lf2).n : (*lf1).n;
- linear_form_int result_lf;
- result_lf.n = max_n;
- result_lf.c = (int*)calloc(max_n, max_n * sizeof(int));
- for (int i = 0; i < min_n; ++i) {
- result_lf.c[i] = (*lf1).c[i] + (*lf2).c[i];
- }
- for (int i = min_n; i < max_n; ++i) {
- result_lf.c[i] = (*lf2).n < (*lf1).n ? (*lf1).c[i] : (*lf2).c[i];
- }
- return result_lf;
- }
- linear_form_int sub_lf_int(linear_form_int* lf1, linear_form_int* lf2) {
- int min_n = (*lf1).n > (*lf2).n ? (*lf2).n : (*lf1).n;
- int max_n = (*lf1).n < (*lf2).n ? (*lf2).n : (*lf1).n;
- linear_form_int result_lf;
- result_lf.n = max_n;
- result_lf.c = (int*)calloc(max_n, max_n * sizeof(int));
- for (int i = 0; i < min_n; ++i) {
- result_lf.c[i] = (*lf1).c[i] - (*lf2).c[i];
- }
- for (int i = min_n; i < max_n; ++i) {
- result_lf.c[i] = (*lf2).n < (*lf1).n ? (*lf1).c[i] : -(*lf2).c[i];
- }
- return result_lf;
- }
- void scalar_multiplay_lf_int(linear_form_int* lf, int scalar) {
- for (int i = 0; i < (*lf).n; ++i) {
- (*lf).c[i] *= scalar;
- }
- }
- int main()
- {
- int n;
- linear_form_int lf;
- printf("Введите количество переменных n.\nn = ");
- scanf("%d", &n);
- lf = create_lf_int(n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement