• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# Wpisywanie liczb z poza zakresu do tabeli

42 Warsaw Coding Academy
0 głosów
684 wizyt
pytanie zadane 20 listopada 2019 w C# przez enero Początkujący (330 p.)

Czesc, 

Jakby ktos mogl mi pomoc, jak zrobic aby podajac liczby, ktore sa poza zakresem(zakres od 0 do 20) wyswietlilo mi komunikat, ze liczba jest z poza zakresu i zrobilo petle od nowa, tak aby tej liczby podanej z poza zakresu nie liczyc.

Np.: Podaj 1 ocene: 22 (podajac liczbe z poza zakresu nie liczy jej tylko dalej wyswietla o podaniu danej oceny)

       Podano liczbe z poza zakresu.

       Podaj 1 ocene: 

 

 int[] tab2 = new int[5];
            int max;
            int min;
            int suma = 0;

            for (int i = 0; i < tab2.Length; i++)
            {
                //duzo = tab2[i];
                Console.Write("Podaj " + (i + 1) + " ocene: ");
                tab2[i] = int.Parse(Console.ReadLine());
                if (tab2[i] >= 0 || tab2[i] < 21)
                {

                    suma += tab2[i];
                }
                else
                {
                    Console.WriteLine("Podano liczbe z poza zakresu");
                }
 
    
            }

            min = tab2[0];
            for (int i = 0; i < tab2.Length; i++)
            {
                if (min > tab2[i])
                {
                    min = tab2[i];
                }
            }

            max = tab2[0];
            for (int i = 0; i < tab2.Length; i++)
            {
                if (max < tab2[i])
                {
                    max = tab2[i];

                }
            }

            suma -= max;
            suma -= min;



            Console.WriteLine("Najmniejsza: " + min);
            Console.WriteLine("Najwieksza: " + max);
            Console.WriteLine("Suma: " + suma);

            Console.ReadKey();

Zadanie to aby z 5 podanych ocen odrzucic dwie skrajne i policzyc sume 3 pozostalych. Dzieki za odpowiedz.

komentarz 20 listopada 2019 przez enero Początkujący (330 p.)
Rozwiazanie znalezione, dzieki wszystkim za odpowiedzi.

3 odpowiedzi

0 głosów
odpowiedź 20 listopada 2019 przez Babbage Obywatel (1,630 p.)
wybrane 20 listopada 2019 przez enero
 
Najlepsza

Wydaje mi się, że chodzi ci o coś takiego.

 

                if (tab2[i] >= 0 && tab2[i] < 21)
                {

                    suma += tab2[i];
                }
                else
                {
                    Console.WriteLine("Podano liczbe z poza zakresu");
                    i--;
                }

 

komentarz 20 listopada 2019 przez enero Początkujący (330 p.)
Wielkie dzieki, bardzo mi pomogles. Teraz wydaje sie tak proste, a jednak nie wpadlem na to :)
0 głosów
odpowiedź 20 listopada 2019 przez high.rise Nowicjusz (140 p.)
Cześć.

Nie wiem, czy w zadaniu trzeba było koniecznie użyć tablicy, ja to zadanie użyłam z użyciem listy. Może coś Ci pomoże.
Od razu uprzedzam, że dopiero zaczęłam się uczyć programowania :P Ale skoro nie ma innych odpowiedzi, to wrzucę swoją :)

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<int> list = new List<int>();       
        while (list.Count<5)
        {
            Console.WriteLine("Podaj liczbę");
            int liczba = int.Parse(Console.ReadLine());
            if (liczba >= 0 && liczba <= 20)
            {
                list.Add(liczba);
            }         
        }

        int max = list[0];
        int min = list[0];
        int suma = 0;

        for (var i = 1; i < list.Count; i++)
        {
            if (list[i] < min)
            {
                min = list[i];
            }
        }
        for (var i = 1; i < list.Count; i++)
        {
            if (list[i] > max)
            {
                max = list[i];
            }
        }

        foreach (var r in list)
        Console.Write(r + " ");
        Console.WriteLine();

        foreach (var r in list)
        {
            suma += r;
        }
        suma = suma - max - min;
        Console.WriteLine("Największa liczba: {0}.\nNajmniejsza liczba: {1}\nSuma: {2}.", max, min, suma);

    }
}
0 głosów
odpowiedź 20 listopada 2019 przez Siemił Mądrala (7,380 p.)
Zamiast pętli for użyj while. Index stwóż jako zmienna którą będziesz zwiększał o 1 gdy podana liczba będzie spełniała żądany warunek. Gdy index osiągnie max wyjdź z pętli.

Podobne pytania

0 głosów
2 odpowiedzi 669 wizyt
pytanie zadane 24 października 2022 w PHP przez XDBX Użytkownik (640 p.)
0 głosów
2 odpowiedzi 1,143 wizyt
pytanie zadane 2 lipca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)
0 głosów
0 odpowiedzi 186 wizyt
pytanie zadane 26 grudnia 2020 w C# przez Szyszka Gaduła (3,510 p.)

93,394 zapytań

142,387 odpowiedzi

322,550 komentarzy

62,751 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...