Greg Napisano Czerwiec 6, 2009 Zgłoś Share Napisano Czerwiec 6, 2009 Witam. Zacznę od tego, iż jestem świeżo upieczonym programistą... Z pomocą kolegi udało nam się napisać dwa programy na zajęcia. Programy niestety wywalają nam błędy i nie bardzo wiemy jak się ich pozbyć. Próbuję kompilować i uruchomić w dev-C . Podejrzewam , że są to jakieś proste błędy jednakże dla mnie jako początkującego jest to problem nie do przeskoczenia. Mam nadzieję, że znajdzie się pomocna osoba i opisze co mam nie tak (może nawet wklei poprawiony kod bez błędów) :) Z Góry dziękuję. CYTAT#include<stdio.h> #include<conio.h> #include<iostream.h> #define n 20 int main(int argc, char* argv[]) { int tab[n]; int i,klucz,wybor,zmienna; randomize(); printf("Generuje %d-elementowa tablice jednowymiarowa\n",n); for(i=0;i<n;i++) { tab=rand()%n; printf("%d,",tab); } printf("\n Podaj klucz:"); scanf("%d",&klucz); printf("MENU:\n"); printf("1 Szukaj pierwszej wartosci zgodnej z kluczem wyswietl ja i jej indeks.\n"); printf("2 Szukaj wszystkich wartosci zgodnych z kluczem wyswietl je i ich indeksy.\n"); printf("Wybieram: "); scanf("%d", &wybor); if (wybor==1) { i=0; do i=i+1; while(klucz!=tab); if (i<n-1) { printf("Wynik: tab[%d]=%d ; indeks:%d",i,tab,i); } if (i>=n) { printf("Podanego klucza nie ma w tablicy"); } } if (wybor==2) { zmienna=0; for(i=0;i<n;i++) { if (tab==klucz) { printf("Wynik: tab[%d]=%d ; indeks:%d\n",i,tab,i); zmienna++; } } if (zmienna==0) { printf("Podanego klucza nie ma w tablicy"); } } getch(); return 0; #include<stdio.h>#include<conio.h> #include<iostream.h> #define n 10 int main(int argc, char* argv[]) { int tab[n][n]; int i,j,a,b,c,d,klucz; randomize(); printf("Generuje %dx%d-elementowa tablice dwuwymiarowa\n",n,n); for(i=0;i<n;i++) { gotoxy(2,5+i); printf("%d",i); gotoxy(5+3*i,3); printf("%d",i); for(j=0;j<n;j++) { tab[j]=rand()%n; gotoxy(5+3*j ,5+i); printf("%d,",tab[j]); } } printf("\n\n Podaj klucz"); scanf("%d", &klucz); printf("\nPodaj zakres jaki chcesz przeszukac:"); do { printf("\nWspolrzedne poczatkowe [0-%d][0-%d]",n-1,n-1); printf("\nPodaj pierwsza wspolrzedna:"); scanf("%d", &a); } while(a<0 ||a>n); do { printf("\nWspolrzedne poczatkowe [0-%d][0-%d]",n-1,n-1); printf("\nPodaj druga wspolrzedna:"); scanf("%d", &b); } while(b<0 ||b>n); do { printf("\nWspolrzedne koncowe [%d-%d][%d-%d]",a,n-1,a,n-1); printf("\nPodaj pierwsza wspolrzedna:"); scanf("%d", &c); } while(c<a ||c>n); do { printf("\nWspolrzedne poczatkowe [%d-%d][%d-%d]",b,n-1,b,n-1); printf("\nPodaj druga wspolrzedna:"); scanf("%d", &d); } while(d<b ||d>n); for(i=a;i<c;i++) { for(j=b;j<d;j++) { if (tab[j]==klucz) { printf("\nWartosc rowna kluczowi: %d, jest pod indeksem: [%d][%d] ",tab[j],i,j ); } } } getch(); return 0; } Link do komentarza Udostępnij na innych stronach More sharing options...
Komputerowiec Napisano Czerwiec 6, 2009 Zgłoś Share Napisano Czerwiec 6, 2009 A powiedz chociaz jakie Ci bledy wywala ;p, to bedzie szybciej. Link do komentarza Udostępnij na innych stronach More sharing options...
Greg Napisano Czerwiec 6, 2009 Autor Zgłoś Share Napisano Czerwiec 6, 2009 Spróbuj skompilować ten kod źródłowy to wyskoczą błędy (bez sensu abym pisał tutaj błąd w lini 3 x2 czy błą 32:2). Ogólnie są to błędy jeszcze na etapie kompilacji. Link do komentarza Udostępnij na innych stronach More sharing options...
Komputerowiec Napisano Czerwiec 6, 2009 Zgłoś Share Napisano Czerwiec 6, 2009 Co do 1 programu: #include<stdio.h> #include<conio.h> #include<iostream> #define n 20 int main(int argc, char* argv[]) { int tab[n]; int i,klucz,wybor,zmienna; //randomize(); printf("Generuje %d-elementowa tablice jednowymiarowa\n",n); for(i=0;i<n;i++) { tab[i]=rand()%n; printf("%d,",tab[i]); } printf("\n Podaj klucz:"); scanf("%d",&klucz); printf("MENU:\n"); printf("1 Szukaj pierwszej wartosci zgodnej z kluczem wyswietl ja i jej indeks.\n"); printf("2 Szukaj wszystkich wartosci zgodnych z kluczem wyswietl je i ich indeksy.\n"); printf("Wybieram: "); scanf("%d", &wybor); if (wybor==1) { i=0; do i=i+1; while(klucz!=tab[i]); if (i<n-1) { printf("Wynik: tab[%d]=%d ; indeks:%d",i,tab[i],i); } if (i>=n) { printf("Podanego klucza nie ma w tablicy"); } } if (wybor==2) { zmienna=0; for(i=0;i<n;i++) { if (tab[i]==klucz) { printf("Wynik: tab[%d]=%d ; indeks:%d\n",i,tab[i],i); zmienna++; } } if (zmienna==0) { printf("Podanego klucza nie ma w tablicy"); } } getch(); return 0; } 1.Nie programuje w C, wiec nie wiem co to jest funkcja randomize(), wzialme jaa w komentarz. 2.Iostream nie potrzebuje koncowki .h 3. Gdy piszesz program musisz go konczyc klamra ;] 4. Chyba wszystko dobrze dziala 5. Sprawdzam 2 program Link do komentarza Udostępnij na innych stronach More sharing options...
Komputerowiec Napisano Czerwiec 6, 2009 Zgłoś Share Napisano Czerwiec 6, 2009 P.S. do czego sluzy funkcja gotoxy()? Link do komentarza Udostępnij na innych stronach More sharing options...
Greg Napisano Czerwiec 7, 2009 Autor Zgłoś Share Napisano Czerwiec 7, 2009 Dzięki za pomoc. Funkcja gotoxy() służy do przejścia do określonego miejsca w tabeli (współrzędne rząd wiersz) Link do komentarza Udostępnij na innych stronach More sharing options...
Gość Gelldur Napisano Czerwiec 7, 2009 Zgłoś Share Napisano Czerwiec 7, 2009 a nie powinno byc #define n=20? Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Czerwiec 7, 2009 Zgłoś Share Napisano Czerwiec 7, 2009 Jak używasz rand-a to wcześniej trzeba srand-a. gotoxy nie należy do standardu, w Visualu jest, możnat ez sobie ściągnąć, wpisując (uwaga) "c++ gotoxy" do wyszukiwarki. Define jest dobry Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.