потому что именно так можно коротко и лаконично работать с массивом. например, давайте решим такое : заполнить 100 элементов массива случайными числами. без цикла while или for этот код займёт ни много, ни мало 100 строк и выглядело бы это вот так:
arr[0] = rand(); arr[1] = rand(); = rand();во-первых - это затрудняет читабельность кода. во-вторых, если вам придётся решать , предполагающую ввод количества элементов, то вы уже не сможете просто так написать n элементов, поскольку вы не знаете, какое число даст программе человек. в таком случае вам бы пришлось использовать рекурсивную функцию.
вместо этого люди решили использовать цикл - то, что повторяет тело цикла i раз ("i - это итератор - счётчик цикла"). давайте посмотрим, как будет выглядеть наша с циклом:
for(int i = 0; i < 100; i++){ arr[i] = rand(); }в данном случае, как я писал выше, с каждой итерацией будет выполняться оператор присваивания случайного ("на самом деле псевдослучайного, но тема не об этом") числа элементу с индексом ("положением элемента в массиве"), равным номеру итератора.
# include < iostream>
# include < time.h>
using namespace std;
int main() {
int n, m;
cout < < "n = ";
cin > > n; //n и m - степени данных многочленов
cout < < "m = ";
cin > > m;
float *a = new float [n + 1];
float *b = new float [m + 1];
float *c = new float [n + m + 1]; //n + m - степень нового многочлена
//заполняем массивы a и b
for (int i = 0; i < n + 1; i++) {
cin > > a[i];
}
cout < < endl;
for (int i = 0; i < m + 1; i++) {
cin > > b[i];
}
cout < < endl;
for (int k = 0; k < n + m + 1; k++){
float s = 0; //произведение коэф-в
for (int i = 0; i < n + 1; i++)
for (int j = 0; j < m + 1; j++)
if (i + j == k) s += a[i] * b[j];
c[k] = s;
}
//создание массива для коэф-в производной
float *d = new float[n + m + 1];
//заполнение массива d
srand((unsigned int)time(null));
for (int i = 0; i < n + m + 1; i++) //псевдослучайное число
d[i] = rand() % 15;
//изменение и вывод массива d
for (int k = 1; k < n + m + 1; k++) {
d[k - 1] = k * c[k];
cout < < d[k - 1] < < " ";
}
system("pause");
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Результатом сложения двоичных чисел 1111 и 101 будет