Sortowanie dat w kolejnościi chronologicznej
Ostatnio zmodyfikowano 2015-12-13 11:27
Jasiu1047 Temat założony przez niniejszego użytkownika |
Sortowanie dat w kolejnościi chronologicznej » 2015-12-12 20:57:33 Dzień dobry mam problem z moim programem, który za zadanie ma sortować daty w kolejności chronologicznej. Problem jest w tym że sortuje je na podstawie pierwszych liczb(czyli dni w moim przypadku). Byłbym bardzo wdzięczny gdyby ktoś w małym stopniu mi powiedział co mógłbym zrobić.
#include <iostream> #include <cstring> #include <cstdlib> #include <stdio.h> using namespace std;
char *pobierz(void) { char koniec[100], *b; cin>>koniec; int dlugosc =strlen(koniec); b =new char[dlugosc+1]; strcpy(b,koniec); return b; }
void sortuj(char *S[],int n) {
char *t; if(n==0)return; for (int i = 0; i < n-1; i++) { for (int j = i+1; j < n; j++) {
if(strcmp(S, S[j]) >= 0) { t = S; S = S[j]; S[j] = t; } } } } void wyswietl(char *S[],int n) { for (int i = 0; i < n; i++) { cout<< S <<endl; } }
int main(void) {
char *napis[40]; int n = 0; do { napis[n++] = pobierz(); }while (*napis[n-1] != '*'); n--; cout<< "Daty" <<endl; wyswietl(napis, n); sortuj(napis, n); cout<< "Posortowane" <<endl; wyswietl(napis, n); getchar(),getchar(); return 0; }[/cpp] |
|
Jasiu1047 Temat założony przez niniejszego użytkownika |
» 2015-12-13 01:21:32 poradziłem sobie z problemem. Po prostu trzeba wpisywać daty zaczynając od roku! Jednak nie wiem jak zrobić aby po pozostawieniu pustego wiersza program zaczął sortować? |
|
1aam2am1 |
» 2015-12-13 11:27:27 Wczytujesz cstring musisz go podzielić na dzień miesiąc i rok potem musisz tylko porównać ze sobą odpowiednie rzeczy. |
|
« 1 » |