[C++] Zoptymalizowanie programu

darek20
Użytkownik
Użytkownik
Posty: 874
Rejestracja: 4 paź 2010, o 08:16
Płeć: Mężczyzna
Lokalizacja: wszedzie
Podziękował: 248 razy
Pomógł: 10 razy

[C++] Zoptymalizowanie programu

Post autor: darek20 »

Jak polepszyć ten programik, żeby wykonywał sie szybciej, czyli chyba chodzi żeby zmniejszyć jego złożoność czasową:

Kod: Zaznacz cały

int n,a;
   int min;
    cin>>n;
      for (int i=0; i<n; i++) 
    {
       cin>>a;
       if( min>a)
       min = a;
    }
Ostatnio zmieniony 14 mar 2012, o 15:06 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Zoptymalizowanie programu

Post autor: Errichto »

Nie da się zmniejszyć jego złożoności czasowej.

Jedyne, co może zauważalnie przyśpieszyć ten program to zmiana strumieniowania - użycie scanf() lub wyłączenie synchronizacji za pomocą linijki:

Kod: Zaznacz cały

ios_base::sync_with_stdio(0);
dodanej na początku funkcji.

Inna sprawa, że program nie zadziała - przy pierwszej liczbie porówna ją do zmiennej min, która nie ma wartości (należałoby przy deklaracji przypisać jej bardzo dużą wartość, np. 1234567890).
darek20
Użytkownik
Użytkownik
Posty: 874
Rejestracja: 4 paź 2010, o 08:16
Płeć: Mężczyzna
Lokalizacja: wszedzie
Podziękował: 248 razy
Pomógł: 10 razy

[C++] Zoptymalizowanie programu

Post autor: darek20 »

a jak tu uzyć scanf bo kombinuje i nic
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Zoptymalizowanie programu

Post autor: Errichto »

dodajesz #include<cstdio> i zamiast cina wpisujesz scanf("%d",&a)
Ostatnio zmieniony 14 mar 2012, o 15:06 przez Afish, łącznie zmieniany 1 raz.
Powód: Stosuj tagi [icode]
darek20
Użytkownik
Użytkownik
Posty: 874
Rejestracja: 4 paź 2010, o 08:16
Płeć: Mężczyzna
Lokalizacja: wszedzie
Podziękował: 248 razy
Pomógł: 10 razy

[C++] Zoptymalizowanie programu

Post autor: darek20 »

no tak robie ale nie działa

Kod: Zaznacz cały

#include <cstdio>

using namespace std;

int main()
{

   int n,a;
   int min=1234567890;
    //cin>>n;
    scanf(" %d" , &n);
      for (int i=0; i<n; i++) 
    {
       //cin>>a;
       scanf("%d " , &a);
       if( min>a)
     
       min = a;
  
    }
 printf(" %d 
", min);
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Zoptymalizowanie programu

Post autor: Errichto »

Z cudzysłowów wywal spacje.
ODPOWIEDZ