Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.10.2023
Сообщений: 63

Перебор значений элементов массива

02.11.2023, 18:11. Показов 529. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот ТЗ. Создайте целочисленный массив с такими элементами:

20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66

Это случайный массив, со случайной длиной и случайными значениями его элементов.
Сначала выведите на консоль список всех элементов массива, а затем – суммы цифр только двузначных элементов массива.
Вывод на консоль оформить следующим образом:
Элементы массива:
20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66

Суммы цифр двузначных элементов массива:
20 → (2 + 0) = 2
48 → (4 + 8) = 12
58 → (5 + 8) = 13
37 → (3 + 7) = 10

Мое решение не принимают. Вот ответ от преподавателя:
Достаточно обойтись просто перебором значений элементов массива.
Просто создать строковую переменную и в нее добавлять строковое представление суммы двузначных чисел через знак '\n'.


C#
1
2
3
4
5
6
7
8
        int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
        Console.WriteLine($"Элементы массива:\n{string.Join(", ", array)}");
        Console.WriteLine("\nСуммы цифр двузначных элементов массива:");
        string list = "";
        for (int i = 0; i < array.Length; i++) {
            if (array[i] >= 10 && array[i] <= 99)
                Console.WriteLine($"{array[i]} → ({(array[i] / 10)} + {(array[i] % 10)}) = {(array[i] / 10) + (array[i] % 10)}");
        }
Я перебирают элементы массива, используя их индексы, а нужно через значения элементов массива. А я не вкуриваю как это сделать
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.11.2023, 18:11
Ответы с готовыми решениями:

Перебор элементов массива
Здравствуйте, товарищи! Знаю что мой вопрос наверняка уже повторялся в той или иной форме, но все же нужна помощь. Задача: есть...

Перебор элементов массива
Всем привет. Допустим есть двухмерный массив. В чем суть допустим 0 это пустота с ней ничего не делаем. Далее есть номера 1 и 2....

Перебор элементов одномерного массива
Мне нужно поэлементно сравнить в цикле элементы например, массив 1 2 3 4 Тогда сравнение будет такое - 1 со 2, 1 с 3, 1 с 4, потом 2 с...

11
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
02.11.2023, 18:35
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
 
    // Вывести все элементы массива
    Console.WriteLine ("Элементы массива:");
    foreach (int element in array)
        Console.Write (element + " ");
    Console.WriteLine();
 
    // Вычисление суммы цифр для двузначных элементов
    int sumOfDigits = 0;
    Console.WriteLine ("Суммы цифр двузначных элементов массива:");
    foreach (int element in array)
    {
        if (element >= 10 && element <= 99)
        {
            int tensDigit = element / 10;
            int onesDigit = element % 10;
            int digitSum = tensDigit + onesDigit;
            sumOfDigits += digitSum;
            Console.WriteLine ($"{element} -> ({tensDigit} + {onesDigit}) = {digitSum}");
        }
    }
    Console.WriteLine ("Общая сумма цифр для двузначных элементов: " + sumOfDigits);
0
0 / 0 / 0
Регистрация: 15.10.2023
Сообщений: 63
02.11.2023, 18:38  [ТС]
Да в том то и дело что foreach не проходили еще. А без foreach реально сделать?
0
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
02.11.2023, 18:46
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
 
 // Вывести все элементы массива
 Console.WriteLine("Элементы массива:");
 foreach (int element in array)
     Console.Write(element + " ");
 Console.WriteLine();
 
 // Вычисление суммы цифр для двузначных элементов
 int sumOfDigits = 0;
 Console.WriteLine("Суммы цифр двузначных элементов массива:");
 
 for (int i = 0; i < array.Length; i++)
 {
     var element = array[i];
 
     if (element >= 10 && element <= 99)
     {
         int tensDigit = element / 10;
         int onesDigit = element % 10;
         int digitSum = tensDigit + onesDigit;
         sumOfDigits += digitSum;
         Console.WriteLine($"{element} -> ({tensDigit} + {onesDigit}) = {digitSum}");
     }
 }
 Console.WriteLine($"Общая сумма цифр для двузначных элементов: {sumOfDigits}" );
0
2805 / 503 / 120
Регистрация: 26.09.2020
Сообщений: 950
Записей в блоге: 5
02.11.2023, 18:55
Лучший ответ Сообщение было отмечено Kerv как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static void Main()
{
    int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
    string list = "Суммы цифр двузначных элементов массива:";
 
    for (int i = 0; i < array.Length; i++)
    {
        int n = array[i];
                
        if (n >= 10 && n <= 99)
        {
            int n1 = array[i] / 10;
            int n2 = array[i] % 10;
 
            list += $"\n{n} -> ({n1} + {n2}) = {n1 + n2}";
        }
    }
 
    Console.WriteLine($"Элементы массива:\n{string.Join(", ", array)}\n");
    Console.WriteLine(list);
}
без join?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
static void Main()
{
    int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
 
    string arr = "Элементы массива:";
    string list = "Суммы цифр двузначных элементов массива:";
 
    for (int i = 0; i < array.Length; i++)
    {
        int n = array[i];
 
        arr += i == 0 ? $"\n{n}" : $", {n}";
 
        if (n >= 10 && n <= 99)
        {
            int n1 = array[i] / 10;
            int n2 = array[i] % 10;
 
            list += $"\n{n} -> ({n1} + {n2}) = {n1 + n2}";
        }
    }
 
    Console.WriteLine($"{arr}\n");
    Console.WriteLine(list);
}
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
02.11.2023, 19:00
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
 
    // Вывести все элементы массива
    Console.WriteLine ("Элементы массива:");
    for (int j = 0; j < array.Length; j++)
        Console.Write (array[j] + " ");
    Console.WriteLine();
 
    // Вычисление суммы цифр для двузначных элементов
    int i = 0;
    Console.WriteLine ("Суммы цифр двузначных элементов массива:");
    while (i < array.Length)
    {
        if (array[i] >= 10 && array[i] <= 99)
        {
            int tensDigit = array[i] / 10;
            int onesDigit = array[i] % 10;
            int digitSum = tensDigit + onesDigit;
            Console.WriteLine ($"{array[i]} -> ({tensDigit} + {onesDigit}) = {digitSum}");
        }
        i++;
    }
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
02.11.2023, 19:05
C#
1
2
3
4
5
6
7
8
9
10
11
12
int[] array = { 20, 48, 58, 5, 7, 37, 86, 4, 63, 62, 2, 32, 56, 33, 1, 89, 77, 59, 8, 27, 88, 76, 6, 87, 66 };
string list = "";
 
Console.WriteLine("Элементы массива...");
for (int i = 0; i < array.Length; i++)
{
    if (array[i] > 9)
        list += array[i] + " → (" + array[i] / 10 + " + " + array[i] % 10 + ") = " + (array[i] / 10 + array[i] % 10) + "\n";
    Console.Write(array[i] + " ");
}
Console.WriteLine("\n\nСуммы двузначных...");
Console.WriteLine(list);
0
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
02.11.2023, 19:37
Цитата Сообщение от wizard41 Посмотреть сообщение
string list = "";
Цитата Сообщение от wizard41 Посмотреть сообщение
list += array[i
нююю...
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
02.11.2023, 19:38
Цитата Сообщение от 116rus Посмотреть сообщение
нююю...
Преподаватель у ТСа очень любит строки.
0
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
02.11.2023, 19:48
wizard41, а ведь можно знаниямиблеснуть, и преподу это настолько понравится, что он поставит автомат, например.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3421 / 2740 / 575
Регистрация: 04.09.2018
Сообщений: 8,608
Записей в блоге: 3
02.11.2023, 19:55
Цитата Сообщение от 116rus Посмотреть сообщение
и преподу это настолько понравится
116rus, не в этом случае. Я уже высказывался по этому поводу в одном из вопросов этого ТСа. Так же, советовал сменить преподавателя.

Добавлено через 1 минуту
P.S. -> то, что они не проходили - табу!
0
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,325
02.11.2023, 23:27
Цитата Сообщение от 116rus Посмотреть сообщение
это настолько понравится, что он поставит автомат, например

Не по теме:

особенно когда посещений 0 по его предмету

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.11.2023, 23:27
Помогаю со студенческими работами здесь

Перебор одиночных элементов как массива
int a,b,c,d,c1,c3,c4,c5,c6; foreach (int g in {a,b,c,d,c1,c3,c4,c5,c6}){g=5;} Как сделать что то подобное, есть 3 листбокса, с...

Перебор элементов массива неизвестной величины
Добрый вечер. есть вот такая штука: string Numbers = str.Split('/'); Т.е. в массив записываются элементы строки разделенные...

Рекурсивный перебор элементов массива любой размерности
Так долго вожусь и все равно ничего : public static void _ForEach&lt;T&gt;(this Array a , Func&lt;T,T&gt; act){ int indices = new int; ...

Присвоение элементам массива значений элементов другого массива
Здравствуйте. Есть два массива (один пустой). Как можно присвоить этому пустому массиву значения элементов другого массива (по порядку)?

Перебор значений в массиве
Есть такой массив string str = new string {&quot;A&quot;,&quot;B&quot;,&quot;C&quot;} Как можно перебрать все значения от A до CCC? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru