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

question-closed Program się nie wyświetla (min i max)

0 głosów
84 wizyt
pytanie zadane 26 maja 2020 w C i C++ przez Quba Użytkownik (790 p.)
zamknięte 26 maja 2020 przez Quba

Mój problem polega na tym, że program nie działa dla każdego n mniejszego od 6. W momencie kiedy wpisuję do niego liczbę większą na przykład 10 nic się nie wyświetla.

Oto program, bardzo proszę o pomoc.

#include <iostream>
#include <ctime>
using namespace std;



int main()
{
	int n,i=0,x=0,min=0,max=0,a=0,b=0,pomoc=0,tab[n]={0};
	
	srand(time(NULL));
	cin>>n;
	if(n<=1)
	{
		cout<<"Podano zle wartosci!";
		exit(0);
	}
		
	for(int i=0; n>i; i++)
	{
	x=1+rand()%(200-1+1);	
	tab[i]=x;
			
	if(i==0)
    {
    	a=x;    	
	}
	else if(i==1)
	{
		b=x;
		if(b>a)
		{
		max=b;
		min=a;	
		}
		else if(a>b)
		{
		max=a;
		min=b;	
		}
	}
	else if(x>max)
	{
	max=x;
	}
	else if(x<min)
	{
	min=x;
	}
	else if(x==max||x==min)
	{
	pomoc++;	
	}
	else if(x<max&&x>min)
	{
	  for(int p=0; p<i; p++)
	  {
	  if(tab[p]==tab[i])
	  pomoc++;
	  }  	
	}
	
	cout<<x<<" ";
    }
        
    
    cout<<" - numery obrazow, ktore zostaly";
    cout<<endl;
	cout<<max<<" to jest maksymalny numer.";
    cout<<endl;
    cout<<min<<" to jest minimalny.";
	cout<<endl<<endl;

    cout<<max-min+1;
    cout<<" - to ilosc numerow z przedzialu obrazow (liczac razem z tymi skradzionymi).";
    cout<<endl;
    
    cout<<(max-min+1)-n+pomoc;
    cout<<" - wowczas skradziono przynajmniej tyle obrazow";
    
	return 0;
}

Oto treść zadania:

W Galerii Sztuki miało miejsce włamanie i kradzież pewnej ilości obrazów. Wszystkie obrazy
w kolekcji były oczywiście skatalogowane: opatrzono je kolejnymi numerami począwszy od pewnej
liczby całkowitej x. To znaczy dla przykładu, ze jeśli x = 4, a w galerii było 5 obrazów, to miały one
numery 4, 5, 6, 7 oraz 8.
Po włamaniu w galerii pozostało n obrazów o numerach a1, a2, . . . , an. Twoim zadaniem jest
obliczenie najmniejszej możliwej liczby skradzionych obrazów. Niestety personel galerii nie pamięta
ani wartości początkowego numeru x, ani liczby obrazów w galerii przed włamaniem.
Dane wejściowe
• n – ilość obrazów w galerii po włamaniu podaje użytkownik (dodatnia liczba naturalna n
<1, 100>
• a1 .... an - numery pozostawionych obrazów (liczby losowe <1, 200>
Program powinien wypisać minimalna liczbę skradzionych obrazów.
Przykład
Dla danych wejściowych
4
10 13 12 8
prawidłowym wynikiem jest:
2
(Skradziono obrazy 9 i 11.)

komentarz zamknięcia: Znalazłem odpowiedź

Podobne pytania

0 głosów
1 odpowiedź 68 wizyt
pytanie zadane 25 października w C i C++ przez dayanuch Nowicjusz (120 p.)
+2 głosów
1 odpowiedź 97 wizyt
pytanie zadane 23 czerwca 2021 w SQL, bazy danych przez Bartess Gaduła (3,600 p.)
0 głosów
1 odpowiedź 1,356 wizyt

89,693 zapytań

138,297 odpowiedzi

309,243 komentarzy

59,623 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...