Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Caine - zdjęcie

Caine

Rejestracja: 30.11.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 28.12.2015 11:00
-----

Moje tematy

Błąd w programie losującym

18.12.2015 16:10

Witam!
Jakiś czas temu wykonalem program z losowaniem liczby z zadanego zakresu od 1 do n. a uzytkownik ma zgadywac liczbe. taka gra losujaca. Sam program dzialal bez zarzutów dopoki nie dodałem do niego nowych linijek kodu mających na celu zapis zmiennej liczba_strzalow jesli jest ona mnieksza od wcześniejszych wynikow z wczesniejszych wykonan programu. w tym celu uzylem wczytywania danych i zapisu do pliku. Nie mam pomysłu co zrobiłem nie tak bo nie działa.
nowe linijki kodu mające wlasnie za zadanie sprawdzac czy pobito rekord zapisalem jako komentarze w kodzie ktory jest pod spodem. Do tego wszystkiego po moich zmianach i próbach by zadzialalo zrobilem cos tak ze teraz nawet kod z grą nie chce zadziałać... Zamieszczam cały kod a nie tylko urywek poniewaz nie wiem gdzie szukać juz blędu. Mam nadzieje na szybką odpowiedź.


#include <iostream>
#include <cstdlib>
#include <ctime>
#include <fstream>
using namespace std;
long long  Losowanie()
{
 cout<<"Wybór poziomu trudności."<<endl;
    cout<<"[1]Easy."<<endl;
    cout<<"[2]Medium."<<endl;
    cout<<"[3]Hard."<<endl;
 int przedzial,poz_trud,liczba_strzalow=0
    cout<<"wybieram: ";
      cin>>poz_trud;
    if(poz_trud==1)
    {
    przedzial=10;
    }
    else if(poz_trud==2)
    {
    przedzial=500;
    }
    else
    {
    przedzial=1000;
    }
cout<<"Losowanie liczby..."<<endl;
srand(time (NULL));
int liczba= (rand ()%przedzial)+1;
int strzal;
  do
    {
	 cout<<"Podaj liczbe od 1 do "<<przedzial<<": "<<endl;
cin>>strzal;
if (strzal<1||strzal>przedzial)
{
continue;
}
++liczba_strzalow;
if (strzal>liczba)
{
cout<<"Wylosowana liczba jest mniejsza od Twojej typowanej."<<endl;
cout<<"Spróbuj ponownie!"<<endl;
}
else if (strzal <liczba)
{
cout<<"Wylosowana liczba jest większa od Twojej typowanej.";
cout<<"Spróbuj ponownie!"<<endl;
}
}while (strzal!=liczba);
cout<<"Brawo trafiłeś!"<<endl;
cout<<"Wylosowaną liczbą jest: "<<liczba<<endl;
cout<<"Strzelałeś "<<liczba_strzalow <<"razy."<<endl;
 //fstream plik;
 //plik.open("plik.txt", ios::in);
 //plik>>help;
 //rekord=static_cast<int>(help);
 //plik.close();
    //if(rekord<liczba_strzalow)
  // {
      //plik.open("plik.txt", ios::out);
      // cout<<"Brawo pobiles  rekord!"<<endl;
      //plik<<liczba_strzalow;
      //plik.close();
  // }
cout<<"Czy chcesz zagrać ponownie?"<<endl;
}
int main()
{
 int wybor;
 while(true)
{
  cout<<"[1]Rozpocznij gre."<<endl;
  cout<<"[2]Wyjdź"<<endl;
  cin>>wybor;
  if (wybor==1)
  {
    Losowanie();
  }
  if (wybor==2)
  {
    cout<<"Zapraszamy ponownie :-   D"<<endl;
    exit(0) ;	  
  }
}
  return 0;
}

[KOSZ] Pomoc. Nie wiem jak naprawic błąd

17.12.2015 22:57

Witam!
Jakiś czas temu juz wstawiałem tutaj program z grą losującą-zgadującą. problem tamten od dawna juz nie istnieje, za co Wam dziekuje. Czasami wracam do jakkis wczesniejszych programikow swoich zeby pododawac cos nowego.
Chcialem by gra zapisywala wyniki strzalow i przy kazdej nowej grze podawala na koniec czy pobilem rekord.
kod ktory mialby to robic jest zapisany jako komentarze bo nie dzialal...

ale jak nawet wstawilem nowe linijki kodu jako komentarz to nagle mi nie dziala reszta programu. nie mam juz pomyslow dlaczego.
pomozecie?

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <fstream>
using namespace std;
long long  Losowanie()
{
cout<<"Wybór poziomu trudności."<<endl;
    cout<<"[1]Easy."<<endl;
    cout<<"[2]Medium."<<endl;
    cout<<"[3]Hard."<<endl;
    int przedzial,poz_trud,liczba_strzalow=0;
	    cout<<"wybieram: ";
	    cin>>poz_trud;
    if(poz_trud==1)
    {
    przedzial=10;
    }
    else if(poz_trud==2)
    {
    przedzial=500;
    }
    else
    {
    przedzial=1000;
    }
cout<<"Losowanie liczby..."<<endl;
srand(time (NULL));
int liczba= (rand ()%przedzial)+1;
int strzal;
  do
    {
	 cout<<"Podaj liczbe od 1 do "<<przedzial<<": "<<endl;
cin>>strzal;
if (strzal<1||strzal>przedzial)
{
continue;
}
++liczba_strzalow;
if (strzal>liczba)
{
cout<<"Wylosowana liczba jest mniejsza od Twojej typowanej."<<endl;
cout<<"Spróbuj ponownie!"<<endl;
}
else if (strzal <liczba)
{
cout<<"Wylosowana liczba jest większa od Twojej typowanej.";
cout<<"Spróbuj ponownie!"<<endl;
}
}while (strzal!=liczba);
cout<<"Brawo trafiłeś!"<<endl;
cout<<"Wylosowaną liczbą jest: "<<liczba<<endl;
cout<<"Strzelałeś "<<liczba_strzalow <<"razy."<<endl;
    //fstream plik;
    //plik.open("plik.txt", ios::in);
//plik>>help;
	  //rekord=static_cast<int>(help);
		    //cout<<"....."<<rekord;
		    //plik.close();
    //if(rekord<liczba_strzalow)
	   // {
		 //plik.open("plik.txt", ios::out);
			   // cout<<"Brawo pobiles  rekord!"<<endl;
		 //cout<<"fghjjk===="<<liczba_strzalow;plik<<liczba_strzalow;
			    //plik.close();
	   // }
cout<<"Czy chcesz zagrać ponownie?"<<endl;
}
int main()
{
  int wybor;
 while(true)
{
  cout<<"[1]Rozpocznij gre."<<endl;
  cout<<"[2]Wyjdź"<<endl;
  cin>>wybor;
  if (wybor==1)
  {
    Losowanie();
  }
  if (wybor==2)
  {
    cout<<"Zapraszamy ponownie :-   D"<<endl;
    exit(0) ;	  
  }
}
  return 0;
}

Program sortujący

09.02.2015 11:28

Mam za zadanie napisać program realizujący algorytm sortowania przez wybór zbioru składającego się z n liczb całkowitych, wprowadzonych z klawiatury i wczytywanych do tablicy.

 

Zadanie to miałem do zrobienia tydzień temu napisałem kod który daje poniżej, ale oczywiście mi nie wyszło. nie działa. wróciłem do tego jakiś czas potem kierując się poradą z kursu cpp z internetu który realizuje, ze lepiej odczekać jeśli coś nie idzie i spróbować później. jednak dalej nwm jak zrobić by działał. teraz już mam kompletny mętlik w głowie i nie potrafię znaleźć błędów.

 

Dlatego proszę Was o pomoc w napisaniu tego

#include<iostream>
using namespace std;

void selekcja(int tab[],int n)
{
  int Min = tab[0],
  k = 0;
  for(int i=0;i<n-1;i++)
  {
    for(int j=i+1;j<n;j++)
    if(tab[j]<tab[k])
      k = j;

    int pamiec;
    pamiec = tab[i];
    tab[i] = tab[k];
    tab[k] = pamiec;

    Min = tab[i+1];
    k = i+1;
  }
}

int main()
{
  int tab, n;

  cout<<"Ile liczb chcesz posortować? ";
  cin>>n;

  for(int i=0;i<n;i++)
    cin>>tab[i];

  selekcja(tab,n);

  for(int i=0;i<n;i++)
    cout<<"Kolejnośc tablicy po sortowaniu"<<tab[i]<< endl;
  return 0;
}