#include
#include "bib.h"
using namespace std;
void tab(int a){
int* tabdyna;
tabdyna=new int [a];
for(int i=0;i
cin>>tabdyna[i];
if((tabdyna[i]>25)||(tabdyna[i]<1)){
cout<<"zly zakres danych";
i--;
}
}
}
void wypisz(int tab, int a)
{
for(int i=0; i
cout<
}
[/code]
zbliza sie kolowkium chcialem troche przecwiczyc slabe pkt tj funkcje i wskazniki
utknalem na funkcji ktora ma wyswietlic tablice wiec musze (tak na moje ?) przekazac do funkcji liczby z funkcji tab oraz rozmiar tablicy
przypuszczam ze blad moze znajdowac sie :
a) plik naglowkowy - wczesniej uzylem void tab(int a) a nastepnie chce odwolac sie do funkcji int tab ?(czy mozna zapisac funkcje tak ?
np:void wypisz(void tab(int a),a)?
b)w funkcji glownej main musialbym uzyc wskaznika na tablice albo brakuje znaku & ?
docelowo program na przeprowadzic sortowanie babelkowe na tablicy n elementowej(prosze nie podawac mi tu gotowych programow, sam musze to umiec zrobic)
z tego co wyczytalem z error loga, nie moge przeprowadzac operacji porownania kiedy uzywam wskaznikow, wiec jak obejsc przy sortowaniu babelkowym taki o to problem ?
if (tab>tab[i+1])
void sort(int *tabdyna, int a)
{
int temp;
for(int j=a-1; j>0; j--)
for (int i=0; i
if (tab[i]>tab[i+1])
temp=tab[i]; tab[i]=tab[i+1]; tab[i+1]=temp;
}
void wyswietl(int*sort, int a){
for(int i=0; i
for(int j=0; j
cout<<"*";
}
cout<
}
}
[/code]
jest male ale… chcialbym aby wyswietlalo krok po kroku jak przedstawilem wyzej a nie odrazu wynik koncowy, rozumiem ze powinienem dopisac to do funkcji sort ?
kolejne pytanie jak przeksztalcic funkcje aby wykres obrocil sie o 90stopni ? tzn zeby znaki byly rysowane pionowo (kolumnami) a nie poziomo ( wersami)
Wypisywanie wizualizacji po każdej iteracji w sorcie wydaje się chyba najrozsądniejsze.
Natomiast kolumnami nie da się za bardzo pisać bezpośrednio. Ja bym zrobił coś takiego, że najpierw wyznaczę sobie wysokość całego wykresu, a potem będę sprawdzał wiersz po wierszu wszystkie elementy tablicy - czy sięgają danego wiersza. Jeżeli tak, to wypisuję asterisk, jak nie spacja. Czyli coś takiego:
void wyswietl(int *sort, int a)
{
int height = sort[0];
for(int i=1; i height) height = sort[i];
for(int i=0; i
{
for(int k=0; k
{
cout << (sort[k] < height-i ? " " : "*");
}
cout << endl;
}
cout << endl;
}[/code]