Тема: Три максимальних елемента.
Потрібно знайти 3 максимальних елемента в двовимірному масиві[3,5] і вивести їх. Для кожно рядку. Допоможіть будь ласка! Дякую)
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C#, .NET → Три максимальних елемента.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Потрібно знайти 3 максимальних елемента в двовимірному масиві[3,5] і вивести їх. Для кожно рядку. Допоможіть будь ласка! Дякую)
Одну знайшов, але як ще дві вивести?
int maxindex = 0, max = mas[h, 0];
for ( h = 0; h < 3; h++)
{
for (int j = 1; j < 5; j++)
{
if (mas[h, j] > max)
{
max = mas[h, j];
maxindex = j;
}
}
Console.WriteLine("Max speed: " + max);
static void Main(string[] args)
{
int[,] mas = new int[3,5];
Random gh = new Random();
int i = 0;
Console.WriteLine("\t***Перший заїзд***");
for (int k = 0; k < 3; k ++ )
{
mas[0, k] = gh.Next(100, 150);
i++;
Console.WriteLine("Швидкість після першого заїзду ");
Console.WriteLine(i + " машини " + mas[0, k]);
}
int maxindex = 0, max = mas[h, 0];
for ( h = 0; h < 3; h++)
{
for (int j = 1; j < 5; j++)
{
if (mas[h, j] > max)
{
max = mas[h, j];
maxindex = j;
}
}
Console.WriteLine("Max speed: " + max);
Має вивести три машини в яких максимальні швидкості
зробіть стек довжиною в 3, наприклад. і пихайте туди максимальні елементи, після роботи циклу в стеку мають знаходитись 3 максимальні елементи
типу так, правда воно може зайняти багацько пам'яти, бо використовується стек
using System;
using System.Collections;
public class Test
{
public static void Main()
{
Stack stack = new Stack();
int[] arr = new int[]{4, 3, 2, 5, 6, 1};
int max = arr[0];
stack.Push(max);
foreach (int el in arr) {
if (el >= max) {
max = el;
stack.Push(max);
}
}
for (int i = 0; i < 3; i++) {
Console.WriteLine(stack.Pop());
}
}
}
тре зробити якось так, що коли в стеку вже є 3 елементи, і нам тре додати ще один, то треба вийняти елемент знизу стеку, аби на горі звільнилось місце, і тоди запхати в стек новий максимальний елемент. Тоді стек буде містити лише 3 елементи, найбільший буде на горі, а менші - нижче.
Просто відсортуйте за спаданням і виводьте 3 перші елементи.
Просто відсортуйте за спаданням і виводьте 3 перші елементи.
воу воу, а якщо процесор згорить під час таких ресурсоємких операцій??
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися