Стек, с информационными полями - C#

Узнай цену своей работы

Формулировка задачи:

Не удаётся поместить в стек название гор и её высоту, скажите пожалуйста что я делаю не так? Выручайте, заранее спасибо.
using System;
using System.Collections.Generic;
 
namespace ConsoleApplication1
{
  struct ITm { }
  class Program
  {
    static void Main()
    {
      int[] a = new int[5];
      int[] b = new int[5]; 
      var MyStack = new Stack<ITm>();
      MyStack.Push(new ITm,Название, высота);
      MyStack.Push('N');
      MyStack.Push('X');
       Random ran = new Random();
       for (int i = 0; i < 5; i++)
            
            {
                a[i] = ran.Next(1000,8848);
              b[i] = a[i];
              //  c[i] = a[i];
                Console.Write("{0}\n", a[i]);
             
            }
      Console.WriteLine("Исходный стек: ");
      foreach (char s in MyStack)
        Console.Write(s);
      Console.WriteLine("\n");
 
      while (MyStack.Count > 0)
      {
             Console.WriteLine("Название горы -> {0}", MyStack.Pop());
             Console.Write(" Высота горы ->{0}\n", b[i]);
      }
 
      if (MyStack.Count == 0)
        Console.WriteLine("\nСтек пуст!");
 
      Console.ReadLine();
    }
  }
}
Задание:Создать стек, информационными полями которого являются: название горы и высота. Добавить в стек сведения о новой горе. Организовать просмотр данных стека и определить среднюю высоту гор.

Решение задачи: «Стек, с информационными полями»

textual
Листинг программы
using System;
using System.Collections.Generic;
 
namespace Mat
{
    class Hill
    {
        private string name;
        public  int height;
 
        public Hill(string name,int height)
        {
            this.name = name;
            this.height = height;
        }
 
        public override string ToString()
        {
            return name + " " + height+ " метров";
        }
    }
    class Program
    {
        static void Main()
        {
            Stack<Hill>hills=new Stack<Hill>();
 
            hills.Push(new Hill("Гора 1 ",1000));
            hills.Push(new Hill("Гора 2 ",2000));
 
            double s = 0;
            foreach (var a in hills)
            {
                s += a.height;
                Console.WriteLine(a);
            }
           
            Console.WriteLine(s/hills.Count);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы