Форум программистов, компьютерный форум CyberForum.ru

Функции и указатели - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как узнать знак числа? http://www.cyberforum.ru/cpp-beginners/thread311978.html
как узнать знак числа для float или double. пишу в win32.
C++ STL set вопрос почему в строке while( (*ii)!=elem) говорит что я не перегрузил != не могу понять, и почему в строке cout<<*p<<" "; говорит что я не перегрузил вывод для моего класса ?? Подскажите кто то, оч прошу, я сравниваю пока для простоты по интовой переменной класса, и приходится пользоваться функцией лук, прописанной в классе , с типом инт9если сделать 1 переменную в классе все работает... ... http://www.cyberforum.ru/cpp-beginners/thread311890.html
C++ Как подключить свой модуль
Используйте теги форматирования кода! Добавлено через 5 часов 20 минут Здравствуйте ,скажите как правильно подключить модуль в Си++. Файл rectangel.cpp выглядит так: /* Модуль содержит описание клсса TRect - прямоугольник. 1. Используя этот модуль, написать программу, изображающую на экране мигающий прямоугольник. Изменить модуль, объявив часть полей личными.
Возрастающая последовательность C++
Народ помогите написать прогу на Си. Даны вещественные числа. определить образуют ли они возрастающую последовательность. если да - то найти сумму первого и последнего элементов а если нет то найти произведение максимального и минимального элеменов.
C++ переделать программу http://www.cyberforum.ru/cpp-beginners/thread311869.html
дан код , результатом которого является бегающий человечек под дождем, прошу переделать этот код так чтобы дождя не было, был лишь только бегающий человечек, прошу помочь, нужно срочно, на с\c++ #include<iostream.h> #include<graphics.h> #include<conio.h> #include<dos.h> #include<stdlib.h> int sineGen(int cntr) {
C++ Книги по С++ Доброго времени суток!!!Задался целью тщательно изучить С++. Посоветуйте пожалуйста хорошие книги и учебники для изучения этого могучего языка :)Заранее спасибо :) З.Ы. А как вы изучали язык?Поделись опытом :) подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.06.2011, 18:47     Функции и указатели
Второй нубский вопрос за день.
До сегодняшнего дня вполне успешно пользовался STL-овскими стрингами, сейчас наткнулся в книге Страуструпа на задание - написать свои аналоги функций из string.h, а также реализовать atoi и itoa. Посидел, поизобретал велосипед... Но на itoa застопорился=\
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <cstdio>
unsigned str_len(const char * str){
        int i=-1;
        while (str[++i]);
        return i; 
}
int atoi(const char * str){
    int num=0,i=0;
    bool _=false;
    if (*str=='-') {++i; _=true;}
    for (; str[i];num+=str[i++]-48)
        num*=10;        
    return (_)?-num:num;    
}
char * str_rev(const char * str){ //это вроде работает,но критика приветствуется
    unsigned len=str_len(str);
    char * newstr=new char[len], *_= newstr;   
    while (len)
        *_++=str[--len];
    *_= 0;
    return newstr;  
}
char * str_cpy(char * to, const char * from){
        char * x=to;
        while(*to++=*from++);  
        return x;  
}
char * itoa(int num,char * str,int base){ 
    bool _=false;
    if (num < 0) {_=true; num*=-1;}
    for(;num;num/=base)
        *str++=num%base+48;
    if (_) *str='-'; //теперь в стринге лежит перевернутое число
    return str_cpy(str, str_rev(str)); //а вернуть нормальное не получается
}
 
    
int main(){
    const int size=100;
    char s[size],s1[size];
    int x;
    scanf("%s",s); //123
    printf("%s == %s\n",s,str_cpy(s1,s)); //123 == 123
    scanf("%d",&x); //123
    itoa(x,s,10);
    printf("%d -> %s\n",x,s); //123 -> 321
    return 0;
}
В мейне копирование происходит нормально, а в функции не хочет... Пробовал разными способами. Подозреваю, что дело в указателях, с которыми я не так сильно дружу, как хотелось бы...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru