Zadania z C# - sama nie potrafię.

0

Witam. Od kiedy pamiętam zawsze uwielbiałam się bawić przerabianiem zdjęć. Dlatego tez udałam się na studia o profilu grafika komputerowa i multimedia. I prawdopodobnie okazało się to moim największym błędem. :( Pierwsze wykłady i c#. 90% osób jest po technikum informatycznym lub jacyś inni maniacy. I nie nadążam. Spędziłam ostatnie 5 dni nad tym i zrobiłam sama 20 zadań, ale zostały mi 2 do zrobienia. W sobotę muszę je oddać. To co teraz mam to dla Was zapewne będą banały, ale ja się z tym dopiero co zapoznaję. Zapodam te dwa zadania za które nie mam pojęcia jak się zabrać i wytłumaczę, co mi w nich największy roblem sprawia. Jeśli ktokolwiek byłby mi w stanie pomóc będę bardzo wdzięczna.

Zadanie Nr.21

Zadanie

Napisz program, który będzie pobierać kolejne liczby całkowite i wypisywać je na ekranie. Program zakończ po wprowadzeniu zera.

Wejście

Liczby całkowite. W którymś momencie w ciągu na pewno pojawi się zero.

Wyjście

Wszystkie liczby wprowadzone na wejściu aż do zera (zero TEŻ wypisać).

**//Przykład

Wejsćie://**
4
5
3
0
4
Wyjście:
4
5
3
0

Potrafię sama przypisać do zmiennej liczbę z klawiatury, ale wykładowca powiedział, że tu nie ma określonej ilości liczb w wejściu. Więc zgłupiałam totalnie :(

Zadanie 22
Zadanie

Napisz program, który pobierze dwie liczby całkowite, i wyświetli wszystkie liczby spomiędzy nich (patrz przykład).

Wejście

Dwie liczby całkowite A, B.

Wyjście

Wszystkie liczby całkowite A..B.

**//Przykład

Wejście//**
1
5
Wyjście
1
2
3
4
5
**//Przykład

Wejście//**
2
-2
Wyjście
2
1
0
-1
-2

Tutaj za każdym razem tyle tych pętli narobię, że sędzia (program na stronce gdzie oddajemy zadania) zawsze mi wyskoczy, że mam błędnie to zrobione :(

0

Pętle, pętle i jeszcze raz pętle. Otwórz podręcznik na rozdziale dotyczącym pętli while. Ta pętla wystarczy w zupełności do wykonania tych zadań.

0

Zadanie 22 to właściwie same pętle, postaram się zrobić i wkleić do poprawki. Ale jak mam w Z21 zrobić aby mi samemu wymyślało liczbę?

Żadnego podręcznika nie mamy :/

0
22. 
dopóki a<=b;
   wypisz a;
   inc(a);     
0

w Z21 nic nie ma samo wymyslac liczb
czytasz liczbe z klawiatury, wypisujesz na ekran - to w petli, gdzie warunkiem zakonczenia jest - wprowadzona ostationo liczba rowna sie zero

0

Taki pseudokod żebyś nie miała za łatwo.

RÓB
pobierz daną;
dodaj daną do tablicy; // proponuje ArrayList
DOPÓKI dana==0;

WYŚWIETL DANE;

To by było na tyle;

1
Madzia90 napisał(a)

Ale jak mam w Z21 zrobić aby mi samemu wymyślało liczbę?

Hmm? ;> Nie rozumiem - co ma Ci wymyślać samo liczbę i po co? Liczby pobierasz od użytkownika.

Masz zaimplementować taki algorytm:

  1. Pobierz liczbę od użytkownika;
  2. Wyświetl na ekranie;
  3. Jeśli liczba jest równa 0, to koniec. Jeśli liczba jest różna od 0, to powrót do 1.

Ponieważ mowa jest tu o jakimś wracaniu, to znaczy, że potrzebujesz pętli. Ponieważ cała operacja wykona się raz lub więcej, to naturalną wydaje się pętla do...while.

W następnym zadaniu zaś, od razu widać, że najlepiej użyć pętli for - bo wiesz od jakiej wartości masz zacząć wyświetlanie i na jakiej skończyć.

Nie nastawiaj się od razu negatywnie, bo 80% problemów wynika ze złego nastawienia. Po prostu trzeba dużo myśleć, no i bez jakiejś książki czy dobrego kursu (chociaż lepsza zawsze książka) większych sukcesów chyba nie będzie.

adriano321 napisał(a)

dodaj daną do tablicy; // proponuje ArrayList

Napij się kawy. ŻADNYCH tablic tu nie potrzeba, nie mieszaj jej w głowie. A zwłaszcza żadnych kolekcji. A zwłaszcza tak badziewnych jak ArrayList. :|

0

W linku poniżej masz opisaną pętlę while i program bardzo podobny do Twojego zadania 21.
While

W zadaniu 22 wczytujesz dwie liczby następnie w pętli while wyświetlasz pierwszą liczbę powiększoną o 1 w każdym kroku do momentu aż będzie równa drugiej pobranej liczbie. Ot cała filozofia.

Żadnego podręcznika nie mamy :/

Wykładowca powinien Wam podać bibliografią oraz własne skrypty. W innym wypadku to nie są studia tylko kabaret... Idź do wykładowcy i poproś o bibliografię.

0
somekind napisał(a)
  1. Jeśli liczba jest równa 0, to koniec. Jeśli liczba jest różna od 0, to powrót do 1.

To w takim razie po co w zadaniu, w danych wejściowych po 0 mam podane jeszcze bodajże liczbę 4?
Przecież jak owo 0 się wprowadzi to już o kolejną cyfrę chyba nie zapyta nie? (Oczywiście przypuszczam, że można zrobić aby zapytał, ale po co?)

Dlatego myślałam, że sam sobie program powiedzmy bierze ciąg np. 10 liczb, i wypisuje je do 0. Ale skoro wszyscy jesteście tacy pewni to na pewno spróbuję zrobić i zaliczyć w ten sposób :)

0

hmmm wg mnie typ mogl walnac sie robiac kopiuj-wklej
jasno napisane jest "program zakończ po wprowadzeniu zera"
chyba ze typ inaczej rozumie zakoncz? :D

1

zrobiłam sama 20 zadań
i nie potrafisz tych programików napisac???

0
Madzia90 napisał(a)

Napisz program, który będzie pobierać kolejne liczby całkowite i wypisywać je na ekranie. Program zakończ po wprowadzeniu zera.

Wejście

Liczby całkowite. W którymś momencie w ciągu na pewno pojawi się zero.

Wyjście

Wszystkie liczby wprowadzone na wejściu aż do zera (zero TEŻ wypisać).

**//Przykład

Wejsćie://**
4
5
3
0
4
Wyjście:
4
5
3
0

Hmm... Faktycznie to zadanie jest bardzo niejednoznaczne. Z jednej strony mowa o pobieraniu kolejnych liczb, a nie zbioru liczb. Z kolei w opisie wejścia jest mowa o ciągu, a w przykładzie danych wejściowych jest również ciąg.
Pytanie zatem - czy mieliście na zajęciach tablice i kolekcje? Bo bez nich to zadanie jest niewykonalne.
Jeśli nie, to zrób tak, jak pisaliśmy do tej pory.

0
sid90 napisał(a)

i nie potrafisz tych programików napisac???

Nie, nie potrafię. Inaczej bym nie prosiła o pomoc. Na początku są programiki typu wyświetlanie na ekranie "hello" i proste dodawanie. Podstawy...

0
somekind napisał(a)

Hmm... Faktycznie to zadanie jest bardzo niejednoznaczne. Z jednej strony mowa o pobieraniu kolejnych liczb, a nie zbioru liczb. Z kolei w opisie wejścia jest mowa o ciągu, a w przykładzie danych wejściowych jest również ciąg.
Pytanie zatem - czy mieliście na zajęciach tablice i kolekcje? Bo bez nich to zadanie jest niewykonalne.
Jeśli nie, to zrób tak, jak pisaliśmy do tej pory.

Dopiero co zaczęliśmy te całe pętle. Nic poza nimi nie mieliśmy...

0

20 programów typu hallo world ? No przepraszam, ale na to nie starczy zasobów języka ... Coś mi tutaj śmierdzi, heh Ktoś się chyba psychologicznego bełkoty naczytał.

Żeby nie było - czytasz, co iteracje sprawdzając co czytasz , gdy 0 przerywasz, wypisujesz co wczytałaś, w takiej kolejności jak było lub odwrotnie.

To ze są liczby po 0 - a co to za problem ? Jakaś filtracja musi być. Na spoju często były nadmiarowe dane - po prostu test czy umiesz wyłapać a ACSII czy po EOT/EOF.

Pani Edyta:

Swoją drogą bez kolekcji też się da. Pobieramy jedna po drugiej liczby i w warunku zamiast zapisywać wypisujemy. Po prostu wczytanie się nie będzie niczym różnić, z tym, ze wynik będzie oddzielony przerwami na wczytanie, jednak nie ma tutaj mowy o wypisaniu całego ciągu, a o wczytaniu.

Edytka:

W drugim to mniejsza wczytana liczba inicjuje zmienną iteracyjną, a większa definiuje warunek stopu, najlepiej to w for zrobić - najkrócej, w ciele wypisujesz jedynie zmienną iterującą.

0

Ale o co Ci teraz chodzi?

Napisałam: "Na początku są programiki typu wyświetlanie na ekranie "hello" i proste dodawanie."
Hello to był jeden z nich. Reszta to dodawanie, mnożenie, pierwiastkowanie i formatowanie zapisu.

Nie mam pojęcia co to: "ACSII czy po EOT/EOF".

Jestem po liceum, gdzie przerabiałam niemal jedynie Open Offica, gimpa i trochę PhotoShopa i jedyne o co prosiłam to naprowadzenie jak to zrobić, a nie obrażanie czy wyśmiewania, bo zajmie mi trochę czasu nim się w tym wszystkim połapię...

0

I tak to wszwszystko zmiesci sie w jednym zadaniu, nie 20. Napisalem ci dokladnie co masz zrobic wiec o co chodzi? Czytac nie umiesz? Ja skaczylem liceun gdzie infy uczyl historyk.

0

Ja skończyłem w zasadzie humanistyczne liceum, w którym informatyki było jak na lekarstwo. Tylko co to ma do rzeczy? :|

@lukas_gab - wybacz, ale dydaktyk z Ciebie słaby, nawiązując w swoim poście do różnych rzeczy niezwiązanych z tematem tylko zaciemniasz obraz początkującej...
A co do 20 banalnych zadań - dla początkującego nic nie jest banalne. Lepiej, że wykładowca dzieli zagadnienia tak szczegółowo, niż gdyby miał dać wszystkie zagadnienia w jednym projekcie, przynajmniej początkujący się aż tak nie pogubią w temacie.

@Madzia_90 - skoro jesteś pewna, że nie mieliście tablic, to ich nie używaj. :) Zrób samymi pętlami, jak tu już napisaliśmy.

0

Coz kiepsko idzie mi tlumaczenie podstaw. Wole rozwodzic sie nad rzeczami ciekawszymi, ale masz racje, kiepski dydaktyk ze mnie.

0

Tak na szybko:

            //
            // Zadanie 21
            //

            int a;

            do
            {
                a = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine(a);
            }
            while (a != 0);

            Console.ReadKey();

            //
            // Zadanie 22
            //

            int a;
            int b;

            // Wczytujemy dwie liczby całkowite

            a = Convert.ToInt32(Console.ReadLine());
            b = Convert.ToInt32(Console.ReadLine());

            if (a == b) // Jeśli liczby sa równe, wyświetlamy tylko jedną
            {
                Console.WriteLine(a);
            }
            else if (a > b) // Jeśli pierwsza jest większa, to w pętli zmniejszamy ją o 1 i wypisujemy
            {
                while (a > b)
                    Console.WriteLine(a--);
                Console.WriteLine(b);
            }
            else // Jeśli pierwsza była mniejsza, to w pętli zwiększamy ją o 1 i wypisujemy
            {
                while (a < b)
                    Console.WriteLine(a++);
                Console.WriteLine(b);
            }

            Console.ReadKey();

0

Dziękuję wszystkim. Zakupiłam 2 książki i sporo poćwiczyłam przez te 2 tygodnie. Mam nadzieję, że jak jutro da nam Lab3 to będę chociaż w stanie zrobić 90% zadań. No cóż zobaczymy. Ostatnie pytanko. Używałam Visual Studio 2010, ale to była wersja tymczasowa. Macie może namiary na jakieś programy do pisania programików właśnie w c#? Wiem, że google nie gryzie, ale wyszukałam tam Turbo c# i tak trochę ciężko mi się w nim połapać ;/

0

Turbo C# była raptem jedna wersja, i jest już od dawna nie rozwijane. Polecam Visual C# 2010 Express (link wyżej podał somekind) lub starszą wersję 2008 – mniej muli na wolniejszych kompach.

1

Ale wy tu jej mieszacie... po co tak sobie komplikowac?

Zadanie 22

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cw2
{
    class Program
    {
        static void Main(string[] args)
        {
            int liczba1, liczba2;

            Console.WriteLine("Podaj przedzial liczbowy <a,b> : ");
            liczba1 = int.Parse(Console.ReadLine());
            liczba2 = int.Parse(Console.ReadLine());

            Console.WriteLine("Podales liczby z przedzialu <"+liczba1+","+liczba2+">");

            for (int i = liczba1+1; i < liczba2; i++) // petla wypisuje wszystkie liczby z przedzialu podanego przez uzytkownika
            {
                Console.WriteLine(i);
            }



            Console.ReadLine();
        }
    }
}
 

Zadanie 21

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cw1
{
    class Program
    {
        static void Main(string[] args)
        {
            int liczby;
            //program pobiera tak dlugo kolejne liczby calkowite ,i konczy dzialanie gdy napotka na 0
            do{
                Console.WriteLine("Podaj kolejne liczby calkowite: ");
                liczby = int.Parse(Console.ReadLine());
            }while(liczby != 0);

            Console.WriteLine();
        }
    }
}
 
2

A ja chciałem tylko zauważyć, że wystarczy, by osoba pytająca była 'płci pięknej' i miała zdjęcie, a już pojawia się lawina odpowiedzi xD

0
string line;
do
{
  line = Console.ReadLine();
  Console.WriteLine(line);
} while (!line.Equals("0"));
1

Ja bym chciała zauważyć, że ten wątek ma dwa lata.

0
Odyn napisał(a):

Ale wy tu jej mieszacie... po co tak sobie komplikowac?

Zadanie 22

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cw2
{
    class Program
    {
        static void Main(string[] args)
        {
            int liczba1, liczba2;

            Console.WriteLine("Podaj przedzial liczbowy <a,b> : ");
            liczba1 = int.Parse(Console.ReadLine());
            liczba2 = int.Parse(Console.ReadLine());

            Console.WriteLine("Podales liczby z przedzialu <"+liczba1+","+liczba2+">");

            for (int i = liczba1+1; i < liczba2; i++) // petla wypisuje wszystkie liczby z przedzialu podanego przez uzytkownika
            {
                Console.WriteLine(i);
            }



            Console.ReadLine();
        }
    }
}
 

Zadanie 21

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cw1
{
    class Program
    {
        static void Main(string[] args)
        {
            int liczby;
            //program pobiera tak dlugo kolejne liczby calkowite ,i konczy dzialanie gdy napotka na 0
            do{
                Console.WriteLine("Podaj kolejne liczby calkowite: ");
                liczby = int.Parse(Console.ReadLine());
            }while(liczby != 0);

            Console.WriteLine();
        }
    }
}
 

Zadanie 22 brakuje sprawdzania różnicy obu liczb (jeśli ujemne zamień kolejnością lub przeprowadź dekrementację i--)

Zadanie 21 - brakuje wyświetlania pobranej liczby ;P

3

Jakiś studencina umieścił sobie w awatarze zdjęcie aktorki porno, i już masa forumowych napaleńców rzuciła się do pomocy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1