Tablica, losowanie, ciągi

0
#include <iostream>
#include <cstdlib>
void sprawdz_czy_rosnacy(int);
int generuj_ciag();
int sortuj_ciag();
int main(){
	srand( time (NULL));
	int wybor;
	std::cout <<"Wybierz:\n 1. Podaj ciag.\n 2. Wygeneruj ciag i sprawdz.\n 3. Wygeneruj ciag rosnacy.\n Aby zakonczyc wcisnij z.\n";
	std::cin >> wybor;
	switch(wybor){
		case 1:
			int i, ilosc, ciag[ilosc];
			std::cout<<"Podaj ilosc elementow ciagu.\n";
			std::cin>> ilosc;
			std::cout<<"Podaj liczby w celu sprawdzenia:\n";
			for (i = 0; i < ilosc; i++){
				std::cin>>ciag[i];
			}
			std::cout<<ciag[i];				//tutaj co bym nie drukowal, nie chce mi sie wydrukowac tablica z wpisywanymi liczbami
			sprawdz_czy_rosnacy(ilosc);
			break;
		case 2:
			generuj_ciag();
			sprawdz_czy_rosnacy(ilosc);
			break;
		case 3:
			generuj_ciag();
			sortuj_ciag();
			break;
		case 'z':
			break;
	}
	return(0);
}
int generuj_ciag(){ // tutaj okreslam dlugosc ciagu, potem gorna granica przedzialu i dolna losowania, ktore uzyte sa w funkcji random.
	int i, ilosc, ciag[ilosc], dolna_granica, gorna_granica;
	std::cout <<"Podaj dlugosc ciagu:";
	std::cin>> ilosc;
	std::cout <<"Podaj przedzial losowania od:\n";
	std::cin>> dolna_granica;
	std::cout<<"do:\n";
	std::cin>> gorna_granica;
	for( i = 0; i < ilosc; i++){ //losuje liczby z przedzialu i umieszcza je w tablicy
		int temp, j;
		j = (rand() % gorna_granica) + dolna_granica;
		temp = ciag[i];
		ciag[i] = ciag[j];
		ciag[j] = temp;
	}
	return (ciag[ilosc]);
}
int sortuj_ciag(){ //sortowanie babelkowe)
	int i, j, temp, rozmiar, ciag[rozmiar];
	for (i = 0; i <= rozmiar; i++){
		for(j = 0; j <= rozmiar; j++){
			if(ciag[j]>ciag[j+1]){
				temp = ciag[j];
				ciag[j] = ciag[j+1];
				ciag[j+1] = temp;
			}
		}
	}
	for(i = 0; i <= rozmiar; i++)
	std::cout<<"ciag[i]";
	return (0);
}
void sprawdz_czy_rosnacy(int ilosc){// tutaj sprawdza czy kazdy kolejny element jest wiekszy od poprzedniego.
	int i, ciag[ilosc];
	for(i = 0; i < ilosc; i++)
	if(ciag[i]>ciag[i+1])
	std::cout<<"Ciag jest rosnacy.";
	else std::cout<<"Ciag nie jest rosnacy.";
}

Po wciśnięciu 2 i 3 się sypie. Segmentation failed. Ciężko mi ogarnąć gdzie.

0

Poczytaj o podstawach. Nie wiesz co to zakres zmiennych, nie wiesz do czego służy wartość zwracana z funkcji, nie wiesz jak używać tablic, a to są podstawy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1