Skocz do zawartości
ms-trex

Pomoże mi ktoś zrobić parę programów na zaliczenie?

Rekomendowane odpowiedzi

No np. taki: Program wczytuje liczby do momentu podania 0, oblicz ich sumę i średnią, albo taki: program wczytuje 3 dowolne liczby i porządkuje je rosnąco, albo inny: Wczytywanie liczby całkowitej (od -10000 do 10000) i wypisywanie jej od końca (np. -125 --> -521, 436 --> 634). Wartość 0 kończy program.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak chcesz zeby ktoś Ci pomógł to przynajmniej pokaż co zrobiłes do tej pory. Gotowego rozwiązania nikt Ci nie poda, ale moze powiedzieć co robisz źle, lub przynajmniej podpowiedzieć. Tak poza tym te programy są proste.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Program wczytuje liczby do momentu podania 0, oblicz ich sumę i średnią(...)

Jak SGJ napisal - proste.

Podaj co napisales do tej pory, i w jakim jezyku. Jezeli CPP (ew Java- ale w tym dzialam od 2 tygodni, wiec :? jeszcze licho), to moge pomoc. Program takiego typu jak napisales zajmuje w C++ jakies 5 linijek kodu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ja sobie zdaję sprawę z tego że te programy sa banalne ale dla mnie są trude bo znając teorię nie umiem jej zastosować w praktyce bo zawsze coś nie dziąła

co do tego programu co wczytuje liczby do momentu podania 0, to mi się wydaje że to trzeba w pętli for zrobić prawda?? bo nad tym to jeszcze się nie zastanawiałem

ale prubowałem taki program zrobić:

Wczytuj kody znaków z zakresu 30-255 komunikując: duża litera, mała litera, cyfra, inna. Na kod 0 Koniec.

Kawałek napisałem go w ten sposób:

 

#include<conio.h>

#include<iostream.h>

void main()

{

int x;

clrscr();

cout<<"Podaj kod znaku:n";

cin>>x;

do

{

switch (x){

case 33:cout << "Wykrzyknik: !n";break;

case 34:cout << "Cudzyslow: ,","n";break;

case 35:cout << "Plotek: #n";break;

case 36:cout << "Dolar: $n";break;

case 37:cout << "Procent: %n";break;

case 38:cout << "piecn";break;

case 39:cout << "szescn";break;

case 40:cout << "siedemn";break;

case 41:cout << "osiemn";break;

case 42:cout << "dziewiecn";break;

case 0:cout << "Koniecn";break;

default: cout << "pudlon";break;}

}

while(x!=27);

getch();

}

 

Ale po wpisaniu np. 42, program pisze mi dziewięć w nieskończoność, i tak samo po wpisaniu 0.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

przed rozpoczeciem petli-przed 'do' wczytujesz liczbe do x. zwroc uwage ze w petli x nie jest zmieniany, wiec jesli byl != 27 petla bedzie dziala w nieskonczonosc. proponuje zrobic to tak:

[php:1:47718634f1]

do

{

cout<<"Podaj kod znaku:n";

cin>>x;

switch (x){

case 33:cout << "Wykrzyknik: !n";break;

case 34:cout << "Cudzyslow: ,","n";break;

case 35:cout << "Plotek: #n";break;

case 36:cout << "Dolar: $n";break;

case 37:cout << "Procent: %n";break;

case 38:cout << "piecn";break;

case 39:cout << "szescn";break;

case 40:cout << "siedemn";break;

case 41:cout << "osiemn";break;

case 42:cout << "dziewiecn";break;

case 0:cout << "Koniecn";break;

default: cout << "pudlon";break;}

}

while(x!=27);

[/php:1:47718634f1]

ciekawi mnie dlaczego dla x==0 program wypisuje koniec skoro petla zakonczy sie gry x==27? zmien to.

poza tym minimalnie bardziej do tego programu nadawalby sie typ char niz int dla x.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

no tak pisze w zadaniu że na kod 0 ma byc koniec

hmm dalej nie kumam dlaczego robił to w nieskończoność

a dlaczego mówisz że lepszy jest typ char, przecież cały czas wczytuje liczby całkowite, jak zmieniłem na char to program woóle nie działa

a skąd mogę wziąć całą tabele kodów znaków od 30 do 255 i dalczego na kod 27 nie wychodzi z programu

boże kochany!

dzięki tak wogóle

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hmm dalej nie kumam dlaczego robił to w nieskończoność

Dlatego że w twoim programie można było tylko raz podać wartość zmiennej na samym początku a potem tej zmiennej nie można było już zmienić wpisać tam coś nowego ( innego ).

Program kończył wyrażenie warunkowe - switch a ponieważ to switch było w środku while to rozpoczytał je od nowa mając ciągle tą samą zmienną którą wpisałeś na początku programu np. 33 i ciągle pisał wykrzyknik i tak w kółko w nieskończoność bo znał tylko jedną liczbę czyli np. 33.

Tak jak to podał wojtt, wystarczyło tylko wstawić do wnętrza while cin >> x ; i po kłopocie.

 

a skąd mogę wziąć całą tabele kodów znaków od 30 do 255

Sam możesz sobie zrobić , bardzo łatwo :

for ( int i = 0; i< 256; i++)     {      cout << i << " to znak " << char(i) << endl;     }

i dalczego na kod 27 nie wychodzi z programu boże kochany!

Jak nie, jak tak :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

[php:1:68bc95de6c]

int x;

do

{

cout<<"Podaj kod znaku:n";

cin>>x;

switch (x){

case '!':cout << "Wykrzyknik: !n";break;

case '"':cout << "Cudzyslow: ,","n";break;

case '#':cout << "Plotek: #n";break;

case '$':cout << "Dolar: $n";break;

case '%':cout << "Procent: %n";break;

case '5':cout << "piecn";break;

case '6':cout << "szescn";break;

case '7':cout << "siedemn";break;

case '8':cout << "osiemn";break;

case '9':cout << "dziewiecn";break;

case 0:cout << "Koniecn";break;

default: cout << "pudlon";break;}

}

while(x!=0);

[/php:1:68bc95de6c]

poprawilem Ci ten program, powinno dzialac. chcialem uzyc char ale po ostatnim Twoim poscie widze ze nie do konca wiedzialem co ten program ma robic. zapis '9' oznacza ze w tym miejscu zostanie wstawniony kod ASCII znaku 9, a wiec nie trzeba znac tablicy ASCII zeby taki program stworzyc. petla zatrzyma sie gdy napiszesz 0. (while - dopoki, x!=0, x rozny od liczby 0)

 

chlopie... poszukaj jakiegos kursu na necie. jest ich tyle ze trudno nie znalezc czegos dla siebie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Takie kursy internetowe to jakby dodatek do tego co możesz nauczyć się z ksiązek , nie znam jeszcze nikogo kt o by sie nauczył języka z kursów w necie ( JA nie znam ). Jeśli chcesz się nauczyć porządnie, to tylko książki w wersji papierowej :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...