1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Перевести код из C++ в C

Тема в разделе "С и С++", создана пользователем Future Lover, 8 янв 2008.

  1. Future Lover

    Future Lover Гость

    Репутация:
    0
    Привет. Надо перевести код на С из С++. Может кто-нибудь подсказать что тут поменять?
    Код:
    // temp.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <iostream>
    
    using namespace std;
    
    int my_strlen( const char *sz ) {
    const char *szEnd = sz;
    while( *szEnd++ ) {; }
    return int( szEnd - sz - 1 );
    }
    
    
    size_t getPtrSize( char *ptr )
    {
    return sizeof( ptr );
    }
    
    
    char* compress( char str[] )
    {
    int str_size = my_strlen( str );
    
    char *res;
    res = new char[ int ( str_size*3/2 ) ];
    
    int i;
    int j = 0;
    int count = 0;
    
    for ( i = 0; i < str_size; i++ )
    {
    if ( str[ i ] != str[ i + 1 ] )
    {
    if ( count > 0 )
    {
    res[ j ] = '#';
    res[ j + 1 ] = str[ i ];
    res[ j + 2 ] = count + 49;
    j += 3;
    count = 0;
    }
    else
    {
    res[ j ] = str[ i ];
    j += 1;
    }			
    }
    else
    count++;
    }
    res[ j ] = '\0';
    return res;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    char *str;
    str = new char[100];
    cout << "Enter string: ";
    cin >> str;
    cout << "Compressed string: " << compress( str ) << "\n";
    
    int i, j;
    
    int *array_a;
    int size_a;
    cout << "Enter array A dimension: ";
    cin >> size_a;
    array_a = new int[ size_a ];
    cout << "Enter " << size_a << " elements: ";
    for ( i = 0; i < size_a; i ++ )
    cin >> array_a[ i ];
    
    
    int *array_b;
    int size_b;
    cout << "Enter array B dimension: ";
    cin >> size_b;
    array_b = new int[ size_b ];
    cout << "Enter " << size_b << " elements: ";
    for ( i = 0; i < size_b; i ++ )
    cin >> array_b[ i ];
    
    int count = 0;
    for ( i = 0; i < size_a; i ++ )
    {
    if ( array_a[ i ] == array_a[ i + 1 ] )
    continue;	
    for ( j = 0; j < size_b; j++ )
    if ( array_a[ i ] == array_b[ j ] )
    {
    count++;
    break;
    }
    }
    cout << "Result: " << count << "\n";
    cin >> count;
    return 0;
    }
     
  2. vadim55

    vadim55 Гость

    Репутация:
    0
    Вам нужно сделать немного
    1.вместо new использовать malloc
    2.вместо cin scanf
    3.вместо cout printf
     
Загрузка...

Поделиться этой страницей