Матрица и сума отрицательных масивов - C (СИ)
Формулировка задачи:
Задача 3.1 – найти сумму выделенных элементов матрицы.
Задача 3.2 – вычислить определитель выделенной подматрицы
размером 3x3.
При заполнении матрицы случайными числами они должны
находиться в пределах диапазона, заданного для данного варианта.
мысли не лезут дотянул до дэдлайна
и вот вторая задача не могу понять чего не правильно считает или это бред?
Вычислить сумму элементов массива, расположенных между первым
и вторым отрицательными элементами.
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { int N = 0; printf("Input the number of elements N = "); scanf("%d", &N); int* X = new int[N]; for (int t = 0; t < N; t++) { printf("X[%d] = ", t); scanf("%d", &X[t]); } int min = 0; for (int i = 0; i < N; i++) if (X[i] < X[min]) min = i; int pos[] = { 0, 0 }, count = 0; for (int k = 0; (k < N) && (count < 2); k++) if (X[k] <= 0) { pos[count] = k; count++; } int sum = 0, q = pos[0] + 1; while (q < pos[1]) sum += X[q++]; int n = 0, *new_X = new int[N]; for (int l = 0; l < N; l++) if (abs(X[l]) <= 1) new_X[n++] = X[l]; for (int m = 0; m < N; m++) if (X[m] != 1) new_X[n++] = X[m]; for (int z = 0; z < N; z++) printf("%d ", X[z]); printf("\tX[%d] = %d sum = %d\n", min, X[min], sum); for (int v = 0; v < N; v++) printf("%d ", new_X[v]); printf("\n"); _getch(); return 0; }
Решение задачи: «Матрица и сума отрицательных масивов»
textual
Листинг программы
int pos[] = { 0, 0 }, count = 0; for (int k = 0; (k < N) && (count < 2); k++) if (X[k] <= 0) { pos[count] = k; count++; }
Объяснение кода листинга программы
В данном коде:
- Объявлена переменная
pos
типаint
с начальным значением{ 0, 0 }
. - Объявлена переменная
count
типаint
с начальным значением0
. - Задан цикл
for
, который выполняется до тех пор, пока условие(k < N) && (count < 2)
истинно. - Внутри цикла проверяется условие
X[k] <= 0
, если оно истинно, то выполняется следующее действие. - Значение
k
присваивается переменнойpos[count]
, а затем увеличивается значениеcount
на единицу. - После выхода из цикла, в переменной
pos
будут храниться два отрицательных индекса массиваX
. - Если в массиве
X
есть больше двух отрицательных элементов, то они не будут учтены в данном коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д