Загрузка...

Help with the implementation of technical specifications

Thread in C# created by нексюша Mar 28, 2024. 248 views

  1. нексюша
    нексюша Topic starter Mar 28, 2024 2871 Jun 20, 2020
    ТЗ: Найти сумму всех нечетных цифр четырехзначного числа, заданного пользователем.
    Проблема в том, что не знаю как именно просуммировать нечётные числа, поделил число на цифры, записал условие, а дальше не могу сделать ничего

    CSHARP
    using System;

    namespace vtoroe_zadanie
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Title = "Практическая работа №11, задание №2";
    Console.Write("Введите четырехзначное число: ");
    int N = Convert.ToInt32(Console.ReadLine());
    int A = N / 1000;
    int B = (N % 1000) / 100;
    int C = (N % 100) / 10;
    int D = N % 10;
    {
    if (N>999 && N<10000)
    {
    if (A % 2 != 0 || B % 2 != 0 || C % 2 != 0 || D % 2 != 0)
    Console.Write($"Сумма: {A+B+C+D} ");
    }
    }
    }
    }
    }
     
  2. 0w0
    0w0 Mar 28, 2024 0x5F3759DF 332 Dec 27, 2017
    Подели, а дальше циклом пройдись по ним. Может, в массив записать, а дальше циклом с условием (деление на 2) суммируй в переменную для суммы
     
    1. View previous comments (1)
  3. bylex
    bylex Mar 28, 2024 Безделье - это игрушка дьявола 3496 Apr 7, 2019
    CSHARP
    public static class Program
    {
    public static void Main()
    {
    int N = int.Parse(Console.ReadLine());
    int sum = 0;
    while (N > 0)
    {
    sum += ((N % 10) % 2) == 1? N % 10 : 0;
    N /= 10 ;
    }
    Console.WriteLine(sum);
    }
    }
     
    1. нексюша Topic starter
      bylex, к сожалению, без этой штуки надо, т.к по программе не было этого :finger_down:
  4. vtlstolyarov
    Если подправить твоё решение то так:
    CSHARP
    using System;

    namespace vtoroe_zadanie
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Title = "Практическая работа №11, задание №2";
    Console.Write("Введите четырехзначное число: ");
    int N = Convert.ToInt32(Console.ReadLine());
    int A = N / 1000;
    int B = (N % 1000) / 100;
    int C = (N % 100) / 10;
    int D = N % 10;
    {
    if (N>999 && N<10000)
    {
    int S = 0;
    if (A % 2 != 0) S += A;
    if (B % 2 != 0) S += B;
    if (C % 2 != 0) S += C;
    if (D % 2 != 0) S += D;
    Console.Write($"Сумма: {S} ");
    }
    }
    }
    }
    }
    но лучше так:
    CSHARP
    using System;

    namespace vtoroe_zadanie
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Title = "Практическая работа №11, задание №2";
    Console.Write("Введите четырехзначное число: ");
    int N = Convert.ToInt32(Console.ReadLine());
    if (N>999 && N<10000)
    {
    int S = 0;
    while (N > 0)
    {
    int R = N % 10;
    if (R % 2 != 0) S += R;
    N /= 10;
    }
    Console.Write($"Сумма: {S} ");
    }
    }
    }
    }
     
    1. нексюша Topic starter
      vtlstolyarov, а нахуя н>0, мб я тюбик, но вайлом не пользовался еще
  5. vtlstolyarov
    Ты тюбик, потому что цикл должен когда-то закончится (тогда когда больше не останется цифр в числе, то есть число будет равно нулю)
     
  6. KWoslo
    KWoslo Apr 10, 2024 1 Jan 29, 2018
    CSHARP
    using System;

    namespace vtoroe_zadanie {
    class Program {
    static void Main(string[] args) {
    Console.Title = "Практическая работа №11, задание №2";
    Console.Write("Введите четырехзначное число: ");
    string N = Console.ReadLine();
    int sum = 0;
    foreach (char c in N) {
    int x = Convert.ToInt32(c.ToString());
    if (x % 2 == 1) {
    sum += x;
    }
    }
    Console.Write($"Сумма: {sum} ");
    }
    }
    }
     
Loading...
Top