Арифметический операции с двумерным массивом long int - C (СИ)
Формулировка задачи:
Вообщем ситуация такая:
1) Есть массив double K[4]; Он заполнен некоторыми ненулевыми числами (проверено).
2) Есть массив long int n[12][2048]; Он заполнен целыми неотрицательными числами (на самом деле не очень большими, примерно до 10 000).
3) Вот я хочу получить новый массив, который получается так
Но в результате всего этого получается непойми какой массив. Т.е. если до цикла из 2ого for было например n[1][1] = 10; K[1] = 2.0 (то есть должно получится по хорошему 10/2.0 = 5), то после этого цикла получается непонятно откуда взявшееся большое число, даже бывает что отрицательное, хотя как K[1] так и n[1][1] были положительными.
Это только часть кода, потому что код большой, но значения в массив n и K я проверял прямо перед циклом в цикле.
На вас одна надежда
for(i=0; i<=11; i++) for(j=0; j<=2047; j++) n[i][j] = n[i][j]/K[i];
Решение задачи: «Арифметический операции с двумерным массивом long int»
textual
Листинг программы
for(j=0; j<=2047; j++) { printf("%d ", n[1][j]); n[1][j] = n[1][j]/K[0]; printf("%d %f\n", n[1][j], K[0]); }
Объяснение кода листинга программы
- Переменная
j
инициализируется значением 0, а условие цикла for требует, чтобы она была не больше 2047. Это означает, что цикл будет выполняться 2048 раз. - В каждой итерации цикла переменная
j
увеличивается на 1. - В каждой итерации цикла выводится значение
n[1][j]
. - Значение
n[1][j]
делится наK[0]
. - Результат деления записывается обратно в
n[1][j]
. - Выводится новое значение
n[1][j]
. - Выводится значение
K[0]
. - Цикл завершается, когда значение
j
становится равным 2048.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д