Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h>
- #include <string.h>
- #include <cstdlib>
- // 3 7
- int const num = 4; // число строк
- const int size = 100; // максимальное число символов
- void input(char ch[], int size, int arr2[], int *k)
- {
- int i, j = 0;
- int flag = 0;
- label1: printf("Введите строку: ");
- fgets(ch, size, stdin);
- if (strlen(ch) > size)
- {
- printf("Длина строки больше чем максимально допустимая - %d", size);
- goto label1;
- }
- else {
- for (i = 0; i < strlen(ch); i++)
- {
- if (flag != 1)
- {
- if (ch[i] >= 'a' && ch[i] <= 'z')
- {
- arr2[*k] = ch[i];
- flag = 1;
- }
- }
- }
- }
- }
- int sort(char ch[][size], int num, int arr2[])
- {
- int i, j, temp2;
- int temp = 0;
- for (i = 0; i<num - 1; i++)
- for (j = 0; j<num - 1; j++)
- if (arr2[j]>arr2[j + 1])
- {
- temp++;
- temp2 = arr2[j];
- arr2[j] = arr2[j + 1];
- arr2[j + 1] = temp2;
- char temp[100];
- strcpy(temp, ch[j]);
- strcpy(ch[j], ch[j + 1]);
- strcpy(ch[j + 1], temp);
- }
- return(temp);
- }
- void output(char string[], int *number, int arr2)
- {
- printf("\n Строка номер %d - %s, первая буква - %c,\n", number, string, arr2);
- }
- int main()
- {
- setlocale(LC_ALL, "RUS");
- char ch[num][size]; // массив строк
- int arr2[num]; // первая буква
- int amount = 0; // кол-во перестановок
- for (int i = 0; i < num; i++)
- {
- input(ch[i], size, arr2, &i);
- }
- amount = sort(ch, num, arr2);
- for (int i = 0; i<num; i++)
- output(ch[i], &i, arr2[i]);
- printf("\n кол-во перестановок - %d \n", amount);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement