Могу ли я использовать цикл for, когда у меня есть массив целых - PullRequest
0 голосов
/ 27 декабря 2018

Я изучаю основы программирования и наткнулся на это упражнение.

Напишите программу, которая печатает первые 100 членов последовательности

2, -3, 4, -5, 6, -7, 8

И вВ решении этого упражнения говорится о проверке циклов. глава

Я пытался использовать цикл for при сохранении чисел в массиве для его решения, но компилятор говорит, что он не может преобразовать тип int[] в * 1009.*

int[] numbers = {1, -2, 3, -4, 5, 6, -7};

for (int i = numbers; i < 100; i++)
{
    Console.WriteLine(numbers[i]);
}           

Ответы [ 6 ]

0 голосов
/ 27 декабря 2018

Вы пытаетесь преобразовать массив int в примитивный тип int, который не совместим, поэтому вы получили ошибку компилятора.Вместо этого используйте forEach цикл.Кроме того, ваша логика печати первых 100 чисел неверна.

0 голосов
/ 27 декабря 2018

Вы получили ошибку, потому что пытались использовать массив в качестве начальной точки цикла for, который принимает только целое число.

Если вы хотите, чтобы начальная точка была первой записью в вашем массиве, следует написать index :

for (int i = numbers[0]; i < 100; i++)

Для дальнейшего чтения взгляните на это: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/for

0 голосов
/ 27 декабря 2018

Компилятор, конечно, прав.Вы присваиваете numbers, который является int[], i, который является int.Это разные типы.

Но вам кажется, что вопрос вообще пропущен, если только вы не думаете, что компьютер будет угадывать следующие элементы в последовательности от 8 до 100.

0 голосов
/ 27 декабря 2018

`var numbers = [1,2, ..... 100];

Использовать foreach (целое число в числах) {

Console.WriteLine (number);

} `

0 голосов
/ 27 декабря 2018
for (int i = 1; i <= 100; i++)
{
    Console.WriteLine(i *  Math.Pow(-1, i+1));
} 

Попробуйте этот код, должен дать вывод, который вы ищете

0 голосов
/ 27 декабря 2018

Идея здесь не в том, чтобы иметь массив, а в том, чтобы сгенерировать первые 100 чисел этой последовательности.Каждый элемент увеличивает абсолютное значение на единицу и меняет знак:

int num = 100;
int start = 2;
int end = start + num;
int sign = 1;
for (int i = start; i < (start + num); i++)
{
    int result = i * sign;
    sign *= -1;
    Console.WriteLine(result);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...