Ошибка 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);
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: stdio.h, ctype.h, string.h, stdlib.h
  2. Объявляются массивы символов buf, letters, digits, а также указатели pBuf, pLetters, pDigits.
  3. В цикле while, который продолжается до тех пор, пока не будет введено строку, считывается строка с помощью функции fgets.
  4. Если строка пустая, то программа завершается.
  5. Если строка не пустая, то в цикле for происходит разделение строки на цифры и буквы.
  6. В конце каждой строки добавляется ноль, чтобы можно было объединить строки в одну.
  7. Результат выводится на экран с помощью функции printf.
  8. В конце программы добавляется ноль, чтобы указать на успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы