Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.09.2018
Сообщений: 12
1

Заполнение списка

03.10.2018, 21:27. Просмотров 3135. Ответов 8
Метки list (Все метки)

У меня возникла проблема с списком, само задание: надо с клавиатуры заполнить список интовыми значениями, найти сумму простых чисел(числа которые только делятся на 1 и на себя) и найти разность парных чисел (-2, 0, 2 и т.д) и найти среднее арифметическое всех элементов.
Проблема в том как вообще заполнить список? Я столько всего перепробовал, но не получается(я новичок, не надо меня бить), главное с массивом все нормально, а вот именно с List-ом не получается.

Вот это последнее код из моих экспериментов.
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
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class lab7
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите размер списка");
            int n = Convert.ToInt32(Console.ReadLine());
            List<int> numbers = new List<int>();
            int[] mas = new int[n];           
            for (int i = 0; i < mas.Length; i++)
            {
                Console.Write("{0}-е число: ", i + 1);
                mas[i] = Int32.Parse(Console.ReadLine());
                numbers.Add(i);               
                           }
            int arf = mas.Sum()/n;
            int arff = numbers.Sum()/n;
            Console.WriteLine("Среднее арифметическое", arf); // Работает нормально
            Console.WriteLine("Среднее арифметическое", arff); // Считает неправильно
 
            Console.Read();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2018, 21:27
Ответы с готовыми решениями:

Заполнение списка
ДОбрый день. Необходимо заполнить List данными из datagridview, я заполняю классом. класс: ...

Заполнение вложенного списка
У меня есть вложенный список и нужно его заполнить значениями возвращаемыми из функции. Что-то на...

Заполнение списка List
Добрый день. У меня такая проблема, мне нужно создать коллекцию типа: 1 ключ -&gt; несколько значений,...

Неправильное заполнение списка
Доброго времени суток! Есть структура списков. есть функция. Функция изначально заменяет двойные...

8
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 689
03.10.2018, 21:34 2
Цитата Сообщение от 10267 Посмотреть сообщение
Проблема в том как вообще заполнить список?
C#
1
2
3
4
5
6
      int count = 10;
 
      while (count --> 0)
      {
        numbers.Add(int.Parse(Console.ReadLine()));
      }
Добавлено через 1 минуту
C#
1
numbers.AddRange(new int[] { 1, 2, 3, 4 });
Добавлено через 33 секунды
C#
1
numbers.AddRange(new List<int> { 1, 2, 3, 4 });
Добавлено через 39 секунд
C#
1
numbers = new int[] { 1, 2, 3, 4 }.ToList();
0
0 / 0 / 0
Регистрация: 28.09.2018
Сообщений: 12
03.10.2018, 21:37  [ТС] 3
Оно все равно неправильно считает.

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
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class lab7
    {
        static void Main(string[] args)
        {
          //  Console.WriteLine("Введите размер списка");
            int n = Convert.ToInt32(Console.ReadLine());
            List<int> numbers = new List<int>();
            //int[] mas = new int[n];
            //for (int i = 0; i < mas.Length; i++)
           // {
            //    Console.Write("{0}-е число: ", i + 1);
          //      mas[i] = Int32.Parse(Console.ReadLine());
 
          //  }
            int count = 10;
 
            while (count-- > 0)
            {
                numbers.Add(int.Parse(Console.ReadLine()));
            }
          //  int arf = mas.Sum() / n;
            int arff = numbers.Sum() / n;
            //Console.WriteLine(arf);
            Console.WriteLine(arff);
 
            Console.Read();
        }
    }
}
0
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 689
03.10.2018, 21:42 4
Лучший ответ Сообщение было отмечено 10267 как решение

Решение

Такс...
Список заполняйте так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    static void Main()
    {
      List<int> numbers = new List<int>();
 
      Console.Write("Введите размер списка: ");
      int N = int.Parse(Console.ReadLine());
 
      for (int i = 0; i < N; i++)
      {
        numbers.Add(int.Parse(Console.ReadLine()));
      }
 
      Console.ReadLine();
    }
Добавлено через 36 секунд
Цитата Сообщение от 10267 Посмотреть сообщение
найти сумму простых чисел(числа которые только делятся на 1 и на себя)
Вам нужно написать функцию, которая определяет, является ли число простым.

Добавлено через 1 минуту
Цитата Сообщение от 10267 Посмотреть сообщение
найти разность парных чисел (-2, 0, 2 и т.д)
четных что ли?
1
0 / 0 / 0
Регистрация: 28.09.2018
Сообщений: 12
03.10.2018, 21:43  [ТС] 5
Большое спасибо, работает. Да, четных.
0
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 689
03.10.2018, 21:47 6
Проверку на "простоту" можете делать с помощью подобной функции:
C#
1
2
3
4
5
6
7
8
9
10
11
12
    static bool IsPrime(int number)
    {
      for (int i = 2; i < number - 1; i++)
      {
        if (number % i == 0)
        {
          return false;
        }
      }
 
      return true;
    }
Добавлено через 1 минуту
Проверку на четность с помощью остатка от деления:
C#
1
if (ЧИСЛО % 2 == 0)
1
0 / 0 / 0
Регистрация: 28.09.2018
Сообщений: 12
03.10.2018, 22:27  [ТС] 7
Извиняюсь, конечно за свою тупость, но у меня не получается, не могли бы вы помочь еще раз?
Как правильно сделать проверку и посчитать сумму?Мне 1 раз увидеть как правильно делать и я пойму. Простите, что надоедаю.
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
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class lab7
    {
        static void Main()
        {
            List<int> numbers = new List<int>();
 
            Console.Write("Введите размер списка: ");
            int N = int.Parse(Console.ReadLine());
            Console.ReadLine();
            for (int i = 0; i < N; i++)
            {
                numbers.Add(int.Parse(Console.ReadLine()));
            }
            foreach (int i in numbers)
                if (i % 2 == 0)
                int prost += i;
                            
            int arff = numbers.Sum() / N;
            Console.WriteLine(arff);
            Console.WriteLine("Сума простых чисел=", prost);
            Console.Read();
        }
 
    }
}
0
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 689
03.10.2018, 22:40 8
Лучший ответ Сообщение было отмечено 10267 как решение

Решение

Если честно, то с разностью мне самому не очень понятно.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Collections.Generic;
 
namespace Program
{
  sealed class MainClass
  {
    static bool IsPrime(int number)
    {
      for (int i = 2; i < number - 1; i++)
      {
        if (number % i == 0)
        {
          return false;
        }
      }
      return true;
    }
 
    static void Main()
    {
      List<int> numbers = new List<int>();
 
      Console.Write("Введите размер списка: ");
      int N = int.Parse(Console.ReadLine());
 
      for (int i = 0; i < N; i++)
      {
        numbers.Add(int.Parse(Console.ReadLine()));
      }
 
      int allNumbersSum = 0, primeNumbersSum = 0, oddDifference = 0;
 
      foreach (var number in numbers)
      {
        allNumbersSum += number;
        
        if (IsPrime(number))
        {
          primeNumbersSum += number;
        }
 
        if (number % 2 == 0)
        {
          oddDifference -= number;
        }
      }
 
      Console.WriteLine($"Среднее: {allNumbersSum / numbers.Count}");
      Console.WriteLine($"Сумма простых: {primeNumbersSum}");
      Console.WriteLine($"Разность четных: {oddDifference}");
 
      Console.ReadLine();
    }
  }
}
1
0 / 0 / 0
Регистрация: 28.09.2018
Сообщений: 12
03.10.2018, 22:44  [ТС] 9
Огромное спасибо за помощь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2018, 22:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Заполнение выпадающего списка
Добрый вечер! нужно на сайте выбрать пункт из выпадающего списка &lt;select name=&quot;pass_centre_id&quot;...

Странное заполнение списка
Здравствуйте. Написал я вот такой код, он создает массив строк и список, который эти массивы строк...

Заполнение выпадающего списка
Доброго времени суток. Как можно выделить нужную строку через webbrowser из выпадающего списка как...

Заполнение списка List
Всем привет. не знаю куда писать на этом форуме так что пишу здесь. кто с xnadev/ прошу сразу...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.