Добавить разделитель, по которому строка разделяется на подстроки - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
int dls;
char s[300];
printf("Vvedite text (,)\n");
gets(s);
dls = strlen(s);
int i=0,j=0,k=0,n=0,f=0;
char ms[50][400],c[400];
while(n<=dls)
{
while(s[n]!=',' && s[n]!='\0')
{
ms[i][j]=s[n];
j++;
n++;
}
ms[i][j]='\0';
j=0;
i++;
n++;
}
do
{
f=0;
for(j=i-1;j>k;j--)
{
if (strcmp(ms[j],ms[j-1])<0)
{
strcpy(c,ms[j]);
strcpy(ms[j],ms[j-1]);
strcpy(ms[j-1],c);
f=1;
}
}
k++;
}
while(f);
for (j=0;j<i;j++)
puts(ms[j]);
system("PAUSE");
return EXIT_SUCCESS;
}Решение задачи: «Добавить разделитель, по которому строка разделяется на подстроки»
textual
Листинг программы
while((s[n] != ',' || s[n] != '.') && s[n] != '\0')
Объяснение кода листинга программы
- В данном коде реализован цикл while, который выполняет следующие действия:
- Проверяет условие: (s[n] != ',' || s[n] != '.') && s[n] != '\0'.
- Если условие истинно, то выполняется тело цикла.
- Если условие ложно, то цикл завершается.
- В условии цикла используются следующие значения:
s[n]- это обращение к элементу строки s по индексу n.- ',' - это запятая.
- '.' - это точка.
- '\0' - это символ конца строки (нулевой символ).
- Тело цикла не указано в предоставленном коде, поэтому мы не можем точно сказать, что происходит внутри цикла. Но, судя по постановке задачи, можно предположить, что в теле цикла должна быть реализация добавления разделителя в строку.