Считать список, парные слова вывести в одну строку, а непарные в другую - C (СИ)
Формулировка задачи:
Помогите пожалуйста, написал такой вот код, нужно считать список, и парные слова вывести в одной строке, а непарные в другой. Программа после запуска сразу же вылетает, уже не знаю что делать. Пишу на С.
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #define N 256
- int main()
- {
- char str[255], buf1[N], buf2[N], *odd, *even, *start;
- int flag = 0;
- printf("vvedite");
- scanf("%s", str);
- start = str;
- odd = buf1;
- even = buf2;
- while (*start)
- {
- if (!flag)
- {
- while (*start != ' ' && *start)
- *odd++ = *start++;
- if (*start)
- {
- *odd++ = ' ';
- start++;
- flag = 1;
- }
- }
- else
- {
- while (*start != ' ' && *start)
- *even++ = *start++;
- if (*start)
- {
- *even++ = ' ';
- start++;
- flag = 0;
- }
- }
- }
- *odd = '\0';
- *even = '\0';
- puts(buf1);
- puts(buf2);
- //printf(buf1);
- //printf(buf2);
- return 0;
- }
Решение задачи: «Считать список, парные слова вывести в одну строку, а непарные в другую»
textual
Листинг программы
- #include <stdio.h>
- #define N 256
- int main()
- {
- char str[N], buf1[N],buf2[N];
- int i,j1=0,j2=0;
- gets(str);
- for(i=0;str[i];i++)
- if(str[i]%2)
- buf1[j1++]=str[i];
- else
- buf2[j2++]=str[i];
- buf1[j1]=0;
- buf2[j2]=0;
- puts(buf1);
- puts(buf2);
- return 0;
- }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с консолью (stdio.h).
- Установка константы N равной 256.
- Объявление трех массивов типа char: str, buf1, buf2 размером N.
- Объявление трех переменных типа int: i, j1, j2, которые будут использоваться в цикле.
- Считывание строки с помощью функции gets в массив str.
- Начальные значения j1 и j2 устанавливаются равными нулю.
- В цикле происходит проверка каждого символа строки str. Если символ нечетный, он добавляется в buf1, иначе в buf2.
- После прохода цикла, в buf1 и buf2 остаются только парные символы, которые выводятся на экран с помощью функции puts.
- Значения j1 и j2 сбрасываются в ноль.
- Вывод на экран массива buf2, содержащего нечетные символы.
- Выход из программы с возвращаемым значением 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д