Stack Overflow на русском Asked on December 18, 2021
Хочу что вывод данных массива был
[i = 1]: 2 3 4 5
[i = 2]: 2 3
[i = 3]: 2
[i = 4]:
Вот мой код
static void Main(string[] args)
{
var array = new[] { 1, 2, 3, 4, 5 };
int x = 1;
for (int i = 0; i < array.Length-x; i++)
{
Console.Write($"[i = {i}]: ");
int cc = 1;
for (int j = 0; j < array.Length-cc; j++)
{
Console.Write(array[j]);
Console.Write(' ');
}
Console.WriteLine();
}
}
}
Но получается пока так(
[i = 0]: 1 2 3 4
[i = 1]: 1 2 3 4
[i = 2]: 1 2 3 4
[i = 3]: 1 2 3 4
помогите изменить код правильно, А до этого был такой код
static void Main(string[] args)
{
var array = new[] { 1, 2, 3, 4, 5 };
for (int i = 0; i < array.Length; i++)
{
Console.Write($"[i = {i}]: ");
for (int j = 0; j < array.Length-0-i; j++)
{
Console.Write(array[j]);
Console.Write(' ');
}
Console.WriteLine();
}
}
}
} Выводит он так значения
[i = 0]: 1 2 3 4 5
[i = 1]: 1 2 3 4
[i = 2]: 1 2 3
[i = 3]: 1 2
[i = 4]: 1
Воспользуйтесь Linq, а именно методом Skip, который пропускает нужное кол-во элементов перечисления (List, массив, etc.):
var array = new[] { 1, 2, 3, 4 };
for (int i = 0; i < array.Length; i++)
{
var skip = array.Skip(i + 1);
string result = string.Join(" ", skip);
Console.WriteLine($"[i = {i + 1}]: {result}");
}
Output:
[i = 1]: 2 3 4
[i = 2]: 3 4
[i = 3]: 4
[i = 4]:
Upd: Код без применения LINQ (по запросу из комментария):
for (int i = 0; i < array.Length; i++)
{
Console.Write($"[i = {i + 1}]: ");
for (int a = 1; a < array.Length - i; a++)
{
Console.Write(array[a] + " ");
}
Console.WriteLine();
}
Answered by LiptonDev on December 18, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP