Podzial tablicy

0

Jestem poczatkujacym programista i prosze o wskazowki jak dokonczycz ten program dzielil mi tablice na zadana ilosc przedzialow.
Np. 10/2 [0,4][5,9]

#include <stdio.h>

   void  grupowanie(int liczba_elementow, int liczba_przedzialow){

     int tablica[liczba_elementow];  //tablica skladajaca sie z liczba_elementow

       for(int i = 0 ; i < liczba_elementow ; i++){    //wypelnienie tablicy od 0 do liczba_elementow-1
              tablica[i] = i;
              printf("%d\n", tablica[i]);              //wypisanie elementow tablicy
         }
       printf("Liczba przedzialow: %d\n", liczba_przedzialow);        //wypisanie na ile przedzialow zostanie podzielona tablica
}
int main(){
grupowanie(10,2);                     

return 0;
}
1

3 temat zakładasz, a już w pierwszym(pisany jeszcze chyba z anonima) dostałeś wskazówki jak to zrobić, wystarczy znać podstawy.

0

Moj kod wyglada nastepujaco, to co zakomentowane dziala juz poprawnie. Nie wiem jak zrobic to co jest odkomentowane, tak aby mi dzielilo tablice na w miare rowne czesci, gdy przedzialy nie maja takiej samej liczby elementow.

#include <stdio.h>
#include <cctype>
#include <cmath>

void grupowanie(int liczba_elementow, int liczba_przedzialow){

 int m,a;       

int licznik = 0;
int tablica[liczba_elementow];

for(int i = 0 ; i < liczba_elementow ; i++){
tablica[i] = i;
printf("%d\n", tablica[i]);
}
if(liczba_elementow % liczba_przedzialow != 0){
m = round(liczba_elementow/liczba_przedzialow);

for(int i = 0 ; i < liczba_elementow ; i++){
if(licznik <= m){
printf("%d ", tablica[i]);
licznik++;

}else{
printf("\n");

}

   } 

}

/* if(isalpha(liczba_przedzialow)!= 0){ //sprawdzenie czy liczba_przedzialow nie jest litera
printf( "Wprowadzona liczba przedzialow jest litera alfabetu i jest to: %c\n", liczba_przedzialow );
}
if(isalpha(liczba_elementow)!= 0){ //sprawdzenie czy liczba_elementow nie jest litera
printf( "Wprowadzona liczba elementow tablicy jest litera alfabetu i jest to: %c\n", liczba_elementow );
}

if(liczba_elementow < 0){ //sprawdzenie czy liczba_elementow jest mniejsza od 0
printf("Wprowadzona liczba tablicy ma wartosc ujemna: %d\n",liczba_elementow );
}
if(liczba_przedzialow < 0){ //sprawdzenie czy liczba_przedzialow jest mniejsza od 0
printf("Wprowadzona liczba przedzialow ma wartosc ujemna: %d\n",liczba_przedzialow );
}

int tablica[liczba_elementow]; //tablica skladajaca sie z liczba_elementow
int liczba_elementow_w_przedziale = 0;
int licznik = 0;
for(int i = 0 ; i < liczba_elementow ; i++){ //wypelnienie tablicy od 0 do liczba_elementow-1
tablica[i] = i;
printf("%d\n", tablica[i]); //wypisanie elementow tablicy
}
printf("Liczba przedzialow: %d\n", liczba_przedzialow); //wypisanie na ile przedzialow zostanie podzielona tablica

if(liczba_elementow % liczba_przedzialow == 0){             //sprawdzenie czy tablica dzieli sie na rowne przedzialy

 liczba_elementow_w_przedziale =  liczba_elementow/liczba_przedzialow;     //ile elementow ma byc w przedziale

  for(int i = 0 ; i < liczba_elementow ; i++){           //wypisanie wszystkich elementow
     if(licznik < liczba_elementow_w_przedziale){                     //jezeli licznik jest mniejszy od liczby elementow w przedziale
       printf("%d ", tablica[i]);                   // wypisanie elementu
       licznik++;                           //zwiekszenie licznika o 1 i powrot do petli for

}
else{
printf("\n"); //wypisanie spacji
printf("%d ", tablica[i]); //wypisanie elementu
licznik = 1; //licznik, dlatego 1 zeby nie bylo przesuniecia
}

    }

 }     

*/ }

int main(){

grupowanie(12,5);

return 0;
}

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