Форум программистов, компьютерный форум 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, 20:56  [ТС]     Функции и указатели
о_О у меня тоже... Но я там еще что-то накрутил, сейчас буду смотреть, в чем была ошибка.

Добавлено через 9 минут
А дело-то было в этой строке...
C++
1
*str++=num%base+48;
Если убрать инкремент у указателя, то все работает. Но почему? Как он сам себя инкрементирует? о_О

Добавлено через 42 минуты
Не, ну это уже мистика какая-то!
Был такой мейн
C++
1
2
3
4
5
6
7
8
9
10
11
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 -> 123
        return 0;
}
Стал такой
C++
1
2
3
4
5
6
7
8
9
int main(){
    const int size=10;
    char s[size];
    int x;
    scanf("%d",&x); //123
    itoa(x,s,10);
    printf("%d -> %s\n",x,s); //123 -> 1
    return 0;
}
Теперь выводится одна цифра...
...
Понятно почему работало раньше - вбивалось одно и тоже число, а так как инкремента у указателя не было, то оно не менялось. Также примерно известно где ошибка.
C++
1
2
for(;num;num/=base)
      *str++=num%base+48;
Видимо я как-то криво потрошу число, т.к. после этого цикла ничего похожего на введенное число в строке нету.
 
Текущее время: 00:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru