GRY-Online.pl --> Archiwum Forum

Z C++ do C czyli moje problemy z cofaniem się...

28.10.2003
20:08
[1]

Pamir [ Generaďż˝ ]

Z C++ do C czyli moje problemy z cofaniem się...

Witam mam problem, mam jako prace domowa pewien prosty programik... jest tylko jeden problem musi być w C... a jako że w życiu nie pisałem nic w C ( tak tak wiem zaraz zaczną się komentarze ze C zawiera się w C++ ) to mam problem, może ktoś kompetentny zmienić mi to co trzeba w tym programiku aby został zatwierdzony przez kompilator C... bo jedyne co wiem to dodanie stdio.h i zmiana cout na printf, ale czy coś jeszcze? Z góry dziękuję i Pozdrawiam Pamir




#include <iostream.h>

const n=12;

int tab[n]=‹40,29,2,1,6,18,20,32,34,39,23,41›;

void swap(int& a,int &b)


int temp=a;
a=b;
b=temp;




void qsort(int *tab,int left, int right)

if (left < right)

int m=left;
for(int i=left+1;i<=right;i++)
if (tab<tab[left])
swap(tab[++m],tab);
swap(tab[left],tab[m]);
qsort(tab,left,m-1);
qsort(tab,m+1,right);



void main()

for (int i=0;i<n;i++)
cout << tab <<" ";
cout << endl;
qsort(tab,0,n-1);
for (i=0;i<n;i++)
cout << tab <<" ";;
cout << endl;


28.10.2003
20:15
smile
[2]

Pamir [ Generaďż˝ ]

heh nie wiem co się stało z klamrowymi nawiasami :-D oczywiście tam gdzie < i > powinno byc ‹ i › ale programiści nie powinni mieć problemu ;-)

POzdrowienia Pamir

28.10.2003
20:16
[3]

Pamir [ Generaďż˝ ]

hmmm, to chyba u mnie jakiś error..., sorrki za te wpisy, ale u mnie nie ma klamrowych nawiasów :-D

28.10.2003
22:46
smile
[4]

Mazzop [ spamer ]

Pamir -> na wstępie przepraszam, że ja nie w sprawie odpowidzi na Twoje pytanie /dopiero zaczynam zabawe z programowaniem, mialem już printf i scanf ;)/ :)

no więc gdzie znajde jakiś kompilator C na peceta, mam styczność z jakimś wild warriorem /chociaż nie wiemm czyto nazwa kompilatora czy cos innego - ten mac os jest pokaszaniony rowno i nic tam nie widze :)/ na Maca, ale na PC nie wiem nawet gdzie szukać a google wyświtlaja mi jakieś głupoty :)

28.10.2003
23:27
smile
[5]

Chupacabra [ Senator ]

imho wyglada ok, jakbys zapisal od razu wszystko w poprawnej formie, to moze bym nawet przekleij to i skompilowal:) A czy main nie powinna zawierac funkcji return z jakims argumentem??

29.10.2003
08:45
smile
[6]

reik [ Pretorianin ]

#include "stdio.h"

const n=12;

int tab[n]=‹40,29,2,1,6,18,20,32,34,39,23,41›;

void swap(int& a,int &b)

int temp=a;
a=b;
b=temp;




void qsort(int *tab,int left, int right)

if (left < right)

int m=left;
for(int i=left+1;i<=right;i++)
if (tab<tab[left])

swap(tab[++m],tab);

swap(tab[left],tab[m]);
qsort(tab,left,m-1);
qsort(tab,m+1,right);



void main()

for (int i=0;i<n;i++)

printf("%ld ", tab);

printf("\n", tab);
qsort(tab,0,n-1);
for (i=0;i<n;i++)

printf("%ld ", tab);

printf("\n", tab);


Jakbyś jeszcze zamiast pisać
if (tab<tab[left]) napisał if (tab<tab[left])
oraz zamiast
swap(tab[++m],tab); napisał swap(tab[++m],tab);
w swoim kodzie to by lepiej działał (nawet by się zaczął kompilować..) :-)

To co wkleiłem sprawdziłem i działa poprawnie.

29.10.2003
08:47
[7]

reik [ Pretorianin ]

Kiszka z tym wklejaniem. Jak się wklei [i] (i w kwadratowych nawaisach) i zaznaczy znaczniki HTML to traktuje to jakio rozpoczęcie pisania kursywą. Mam nadzieję, że teraz będzie OK:

#include "stdio.h"

const n=12;
int tab[n]=‹40,29,2,1,6,18,20,32,34,39,23,41›;

void swap(int& a,int &b)

int temp=a;
a=b;
b=temp;

void qsort(int *tab,int left, int right)

if (left < right)

int m=left;
for(int i=left+1;i<=right;i++)
if (tab[i]<tab[left])

swap(tab[++m],tab[i]);

swap(tab[left],tab[m]);
qsort(tab,left,m-1);
qsort(tab,m+1,right);


void main()

for (int i=0;i<n;i++)

printf("%ld ", tab[i]);

printf("\n", tab[i]);
qsort(tab,0,n-1);
for (i=0;i<n;i++)

printf("%ld ", tab[i]);

printf("\n", tab[i]);

© 2000-2024 GRY-OnLine S.A.