Массивы и как их использовать?
#include <iostream>
using namespace std;
int main()
{
int sample[10];
int t;
for(t = 0; t < 10; t++) sample[t] = t;
for(t = 0; t < 10; t++)
cout<< "Sample[" << t <<"]:" << sample[t] << "\n";
return 0;
}
Почему при вводе массива мы используем два раза "For" и с одной и той де переменной?И как мы присваиваем sample значение "t"?Тут еще один вопрос:
#include <iostream>
using namespace std;
int main()
{
int sample[10];
int t;
for(t=0; t<10; t+=2) sample[t] = t;
for(t=0; t<10; t++)
cout<< "Sample[" << t <<"]:" << sample[t] << "\n";
return 0;
}
Вывод программы:
Sample[0]:-858993460
Sample[1]:-858993460
Sample[2]:2
Sample[3]:-858993460
Sample[4]:4
Sample[5]:-858993460
Sample[6]:6
Sample[7]:-858993460
Sample[8]:8
Sample[9]:-858993460
Тут тоже самое,только прибавляется по 2,а не по одному,как раньше.Почему выводятся числа,остаток от которых равен 0?Я понимаю,это из-за того,что мы поставили "t=0;t<10;t+=2",но как это работает?Можете объяснить про два куска программы?
Ответы (1 шт):
Поочередно...
Почему при вводе массива мы используем два раза "For" и с одной и той де переменной?
Потому что в первом цикле присваиваем значения элементам массива, а во втором выводим.
И как мы присваиваем sample значение "t"
sample[t] = t;
Почему выводятся числа, остаток от которых равен 0?
Потому что в цикле выполняется присваивание при t равном 0, 2, 4, 6, 8... Для остальных значений индекса в массиве остается мусор.
как это работает
for(a;b;c) d;
работает так:
1. a;
2. проверка b. Если истинно - переход к строке 3, если ложно - к строке 6.
3. d;
4. c;
5. переход к строке 2.
6. выполнение программы дальше...