Prawdziwe oblicze Informatyki. Tysiące linijek kodu i kompilatory które nigdy nie wybaczają.
Awatar użytkownika

bigosik121195

Posty: 2
Rejestracja: 07 lis 2013, 16:24
    Windows 7 Chrome

Post07 lis 2013, 16:34

Witam!!! Mam problem. Z kolegą do szkoły mamy napisać program który " Napisz program wczytujący ciąg liczb całkowitych. Wydrukuj na ekranie kolejno wszytkie liczby, posortowane malejąco ale w poniższym kodzie źrudłowym jest kilka błędów a my nie wiemy jakich (Najprawdopodobniej pętle oraz wywołanie funkcji). Może mi ktoś powiedzieć co źle i dlaczego.

// źle jest na pewno w "źrudłowym"?

Kod: Zaznacz cały

#include <cstdlib> #include <iostream> #include <cstdlib> using namespace std; void wypelnij (int tab[10]) { for (int a=0; a>=10 || a<=10; a++) srand(time(0)) tab[a] = rand()%21+1; } void sort (int tab[10],int a) { for (int a=10; a>=0; a--) cout<<tab[a]<< " "; cout<<endl; } void wyswietl (int tab[10]) { for (int a=0; a<=10; a++) cout<<tab[10]<<" "; } int main(int argc, char *argv[]) { cout<<"Program wczytuje ciag liczb calkowitych, oraz wyswietla je kolejno posortowne malejaco"<<endl; int tab[10]; int a; cin>>a; srand(time(NULL)); wypelnij(tab); sort(tab, a); wyswietl(tab); system("PAUSE"); return 0; }

Awatar użytkownika

piotrmika

Zasłużony użytkownik
Posty: 125
Rejestracja: 10 lut 2008, 16:20
Lokalizacja: Kraków
    Windows 8.1 Chrome

Post07 lis 2013, 16:37

Na szybko:

for (int a=0; a<=10; a++)
cout<<tab[10]<<" ";

Stosujesz pętle tylko po to, by w każdym przypadku wyświetlić 11 element tablicy. Powinno być
tab[a]

W przypadku pętli for poprawniejsze jest stosowanie zmiennej i, ale oczywiście nic to nie zmienia poza przejrzystością i klarownością kodu.
MacBook Pro i5/8GB/256GB/Retina/MAC OS X Yosemite
iPhone 6, Samsung Galaxy S6 Edge

Awatar użytkownika

pc.qwerty

Zasłużony użytkownik
Posty: 3273
Rejestracja: 01 lip 2010, 11:28
    Macintosh Chrome

Post07 lis 2013, 16:38

mamy napisać program który " Napisz program wczytujący ciąg liczb całkowitych.
Program który napisze program? :trollface:
poniższym kodzie źrudłowym jest kilka błędów a my nie wiemy jakich (...). Może mi ktoś powiedzieć co źle i dlaczego.
Tak, kompilator.

Techvortal - twoja odrabialnia zadań domowych :trollface:
There is no cloud. It's just someone else's computer.

Awatar użytkownika

bsystem

Zasłużony użytkownik
Posty: 652
Rejestracja: 03 lis 2010, 16:44
    Windows 7 Chrome

Post07 lis 2013, 16:57

Po pierwsze primo:

Kod: Zaznacz cały

void wypelnij (int tab[10]) { for (int a=0; a>=10 || a<=10; a++)


Ta pętla jest całkowicie bez sensu, potrzebuje a, które będzie zliczać do 10 (bo 10 elementów w tablicy) więc for(int a=0; a<10; a++) i nie wyświetlasz tablicy, tylko przypisujesz do niej wartości ( tab[a]=rand()%21+1;)
srand możesz użyć w mainie tylko raz, nie musisz potem w funkcji.

Po drugie primo, to też będzie średnio działać imo

Kod: Zaznacz cały

void sort (int tab[10],int a) { for (int a=10; a>=0; a--) cout<<tab[a]<< " "; cout<<endl; }

Proponuję zastosować do sortowania metodę bąbelkową.

Kod: Zaznacz cały

void sortowanie(int tab1[10]) { for(int j=0; j<10; j++) for(int i=0; i<10; i++) { if(tab1[i]>tab1[j+1]) { swap(tab1[i], tab1[j+1]); } } }
Spoilerpokaż
Asus n61v | c2d p7450 | GT 240m | 4GB DDR3 | 320GB | Windows 8.1 x64
Fujitsu Siemens Esprimo V5505 | C2D T7550 2,2GHz 4MB Cache L2 (Merom) | 4GB RAM DDR2| 120GB| Windows 8.1 x64
Pentium 4 |Pentium 4 3.0GHz (Prescott) | 1 GB RAM DDR1 | 60 GB |Windows 8 RTM
Toshiba Satellite 1400-503 | Celeron-S 1,33GHz (tualatin :hyhy:) | 768 MB SD-RAM | 40GB | Windows XP SP3
K6-2| AMD K6-2 300MHz | 64MB SD-RAM |1GB| Windows 2000 Fresh by Rublik
Serwer 'Sempik': AMD Sempron 2800+ | ASUS K8V-MX | 1024 MB RAM DDR1 | S3 Graphics DeltaChrome Pro IGP | 20GB + 500GB | Windows 2k8
Pentium 4 1,7 GHz| OEM Fujitsu | 512MB SD RAM| 40GB
Sempron 2200+ | jakieś mobo MSI | 128MB DDR | 40GB
Intel Pentium III Coppermine | mobo na intelu | 128MB SD RAM | 80GB
Sempron 2800+ | ASRock K8NF4G-SATA2 | 512MB DDR | 160GB RAID0
Pentium II | mobo na slot1 | 128MB SD RAM | 2GB


Komputery mniej lub bardziej kompletne:

Amilo M7400 | Pentium M 1,3 GHz (Banias)| 512 MB RAM | dysk zbrickowany | +15" CRT
iPhone 5c + Dell e6230

Awatar użytkownika

bigosik121195

Posty: 2
Rejestracja: 07 lis 2013, 16:24
    Windows 7 Chrome

Post07 lis 2013, 17:03

piotrmika
Dzięki ale nic to nie zmieniło program nie robi, tego co powinien.

pc.qwerty
Tak, kompilator.
w tym że kompilator nie pokazuje żadnych błędów.
Techvortal-twoja odrabialnia zadań domowych
Kolega powiedział że znajdzie się tu ktoś kto może pomuc :) kto pyta nie błądzi ;)

Awatar użytkownika

pc.qwerty

Zasłużony użytkownik
Posty: 3273
Rejestracja: 01 lip 2010, 11:28
    Macintosh Chrome

Post07 lis 2013, 17:13

w tym że kompilator nie pokazuje żadnych błędów.
A, no to w takim razie debugger. Resztę wyjaśnił brat.
There is no cloud. It's just someone else's computer.

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość