Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma warning (disable:4996)
- #include <stdio.h>
- #include <conio.h>
- #include <iostream>
- #include <string.h>
- using namespace std;
- #define MAX_STRINGS 32
- #define MAX_STRING_LEN 200
- void InsertionSort(char list[MAX_STRINGS][MAX_STRING_LEN]);
- void Afisare(char strings[][MAX_STRING_LEN]) {
- cout << "-------------------------\n";
- for (int index = 0; index < MAX_STRINGS; index++)
- {
- // cout << "hihi" << endl;
- printf("%s\n", strings[index]);
- }
- cout << "--------------------------\n";
- }
- void main()
- {
- int index;
- char strings[MAX_STRINGS][MAX_STRING_LEN];
- /* Get input */
- printf("Enter %d strings.\n", MAX_STRINGS);
- for (index = 1; index < 2; index++)
- {
- strcpy(strings[0], "push");
- strings[0][sizeof(strings[0]) - 1] = '\0';
- /*printf("Input string %d : ", index);
- scanf("%199s", strings[index]); // limit the width so we don't go past the buffer
- strings[index][sizeof(strings[index]) - 1] = '\0';
- */
- strcpy(strings[1], "poll");
- strings[1][sizeof(strings[1]) - 1] = '\0';
- strcpy(strings[2], "iran");
- strings[2][sizeof(strings[2]) - 1] = '\0';
- strcpy(strings[3], "iraq");
- strings[3][sizeof(strings[3]) - 1] = '\0';
- strcpy(strings[4], "bank");
- strings[4][sizeof(strings[4]) - 1] = '\0';
- strcpy(strings[5], "fdic");
- strings[5][sizeof(strings[5]) - 1] = '\0';
- strcpy(strings[6], "axis");
- strings[6][sizeof(strings[6]) - 1] = '\0';
- strcpy(strings[7], "evil");
- strings[7][sizeof(strings[7]) - 1] = '\0';
- strcpy(strings[8], "lame");
- strings[8][sizeof(strings[8]) - 1] = '\0';
- strcpy(strings[9], "duck");
- strings[9][sizeof(strings[9]) - 1] = '\0';
- strcpy(strings[10], "town");
- strings[10][sizeof(strings[10]) - 1] = '\0';
- strcpy(strings[11], "hall");
- strings[11][sizeof(strings[11]) - 1] = '\0';
- strcpy(strings[12], "iraq");
- strings[12][sizeof(strings[12]) - 1] = '\0';
- strcpy(strings[13], "iraq");
- strings[13][sizeof(strings[13]) - 1] = '\0';
- strcpy(strings[14], "bull");
- strings[14][sizeof(strings[14]) - 1] = '\0';
- strcpy(strings[15], "bear");
- strings[15][sizeof(strings[15]) - 1] = '\0';
- strcpy(strings[16], "veto");
- strings[16][sizeof(strings[16]) - 1] = '\0';
- strcpy(strings[17], "race");
- strings[17][sizeof(strings[17]) - 1] = '\0';
- strcpy(strings[18], "free");
- strings[18][sizeof(strings[18]) - 1] = '\0';
- strcpy(strings[19], "whip");
- strings[19][sizeof(strings[19]) - 1] = '\0';
- strcpy(strings[20], "vice");
- strings[20][sizeof(strings[20]) - 1] = '\0';
- strcpy(strings[21], "jobs");
- strings[21][sizeof(strings[21]) - 1] = '\0';
- strcpy(strings[22], "spin");
- strings[22][sizeof(strings[22]) - 1] = '\0';
- strcpy(strings[23], "flag");
- strings[23][sizeof(strings[23]) - 1] = '\0';
- strcpy(strings[24], "pork");
- strings[24][sizeof(strings[24]) - 1] = '\0';
- strcpy(strings[25], "vote");
- strings[25][sizeof(strings[25]) - 1] = '\0';
- strcpy(strings[26], "bill");
- strings[26][sizeof(strings[26]) - 1] = '\0';
- strcpy(strings[27], "cage");
- strings[27][sizeof(strings[27]) - 1] = '\0';
- strcpy(strings[28], "chad");
- strings[28][sizeof(strings[28]) - 1] = '\0';
- strcpy(strings[29], "iraq");
- strings[29][sizeof(strings[29]) - 1] = '\0';
- strcpy(strings[30], "bush");
- strings[30][sizeof(strings[30]) - 1] = '\0';
- strcpy(strings[31], "iraq");
- strings[31][sizeof(strings[31]) - 1] = '\0';
- }
- InsertionSort(strings);
- printf("\nThe input set, in alphabetical order:\n");
- Afisare(strings);
- _getch();
- }
- void InsertionSort(char list[MAX_STRINGS][MAX_STRING_LEN])
- {
- for (int i = 0; i < MAX_STRINGS; i++)
- {
- Afisare(list);
- // int j = i;
- /* while (j > 0 && strcmp(list[j - 1], list[j]) > 0)
- {
- cout << "Se verifica: " << list[j - 1] << " cu " << list[j]<<endl;
- char tmp[MAX_STRING_LEN];
- strncpy(tmp, list[j - 1], sizeof(tmp) - 1);
- tmp[sizeof(tmp) - 1] = '\0';
- strncpy(list[j - 1], list[j], sizeof(list[j - 1]) - 1);
- list[j - 1][sizeof(list[j - 1]) - 1] = '\0';
- strncpy(list[j], tmp, sizeof(list[j]));
- list[j][sizeof(list[j]) - 1] = '\0';
- Afisare(list);
- --j;
- }
- }*/
- for (int j = i + 1; j < MAX_STRINGS; j++) {
- // cout << "Se verifica: " << list[j] << " cu " << list[j+1] << endl;
- if (strcmp(list[i], list[j]) >= 1) {
- char tmp[MAX_STRING_LEN];
- /*
- aux = a;
- a = b;
- b= aux;
- */
- strncpy(tmp, list[i], sizeof(tmp) - 1);
- tmp[sizeof(tmp) - 1] = '\0';
- strncpy(list[i], list[j], sizeof(list[i]) - 1);
- list[i][sizeof(list[i]) - 1] = '\0';
- strncpy(list[j], tmp, sizeof(list[i]));
- list[j][sizeof(list[j]) - 1] = '\0';
- // Afisare(list);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement