Ошибка iostream не могу убрать!!!на си - C (СИ)
Формулировка задачи:
Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры, не меняя порядка прохождения символов в строке.
если без иостреам то видает еще 5 ошибок о том что declaration is not allowed((((
help me!))
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <iostream.h>
void main()
{
char *str1;
cout<<"Vvedite stroku\n"<<endi;
cin>>str1;
int k,i, j=0 ; clrscr();
k=strlen(str1);
char *str2= a[k] ;
for (i=0;i<k;i++)
if( str1[i] < '0' || str1[i] > '9' )
{
str2[j] = str1[i] ;
j++;
}
str2[j] = '\0' ;
for ( i = 0 ; i < k ; i++ )
if( (str1[i] < '0' || str1[i] > '9') )
{
str2[j] = str1[i] ;
j++;
}
str2[j] = '\0' ;
puts(str1);
puts(str2);
getch();
return 0;
}Решение задачи: «Ошибка iostream не могу убрать!!!на си»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
/* вводится строка любых символов, выводит сначала все символы, потом цыфры */
#define MAX_STR 128
int main(void){
char buf[MAX_STR], letters[MAX_STR], digits[MAX_STR], *pBuf, *pLetters, *pDigits;
while ( 1 ) {
printf("String: ");
if ( !fgets(buf, MAX_STR, stdin) )
exit(1);
if ( pBuf = strrchr(buf, '\n') )
*pBuf = '\0';
if ( !*buf )
break;
pLetters = letters;
pDigits = digits;
for ( pBuf = buf; *pBuf; ++pBuf ){
if ( isdigit(*pBuf) )
*pDigits++ = *pBuf;
else
*pLetters++ = *pBuf;
}
*pLetters = 0;
*pDigits = 0;
strcat(letters, digits);
printf("Result: %s\n", letters);
}
exit(0);
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: stdio.h, ctype.h, string.h, stdlib.h
- Объявляются массивы символов buf, letters, digits, а также указатели pBuf, pLetters, pDigits.
- В цикле while, который продолжается до тех пор, пока не будет введено строку, считывается строка с помощью функции fgets.
- Если строка пустая, то программа завершается.
- Если строка не пустая, то в цикле for происходит разделение строки на цифры и буквы.
- В конце каждой строки добавляется ноль, чтобы можно было объединить строки в одну.
- Результат выводится на экран с помощью функции printf.
- В конце программы добавляется ноль, чтобы указать на успешный конец работы программы.