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

Определить количество положительных элементов массива, предшествующих первому отрицательному - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано число n. Проверить число n на простоту. http://www.cyberforum.ru/cpp-beginners/thread172485.html
Помогите написать программу плизз ) Не знаю как и с чего начать... Я еще нуб в программировании )
C++ Вывод на экран ромба из звёзд! Народ! Нам задали написать программу, которая выводит ромб из звёздочек, но что-то у меня не совсем получилось! Помогите в четверг сдавать! #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; void drawOneLine(int nspaces, int nstars){ int i; for(i=0; i < nspaces; i++) putchar(' '); for(i=0; i < nstars; i++) http://www.cyberforum.ru/cpp-beginners/thread172482.html
C++ Дано натуральное число n. Получить все его натуральные делители.
Помогите пожалуйста. Нужно написать программу на языке Си. Дано натуральное число n. Получить все его натуральные делители. Заранее спасибо.
C++ Украинские символы в консоли
Подскажите, как сделать, чтобы в консоли корректно отображались буквы украинского алфавита, в частности буква "і". Такие буквы, как "є" и "ї" отображаются правильно. Проблема актуальна как для ISO/ANSI, так и для .net Добавлено через 23 часа 19 минут неужели никто не знает решения данной проблемы?:(
C++ Молекулярная динамика http://www.cyberforum.ru/cpp-beginners/thread172444.html
Доброго времени суток! Получилось так, что как всегда дотянул и теперь время поджимает. Может есть у кого эта программа написанная на с++ ?
C++ Следует ли пользоваться командой system()? С помощью функции system можно легко работать с файлами и каталогами. Но возникает 3 вопроса. 1) копировать перемещать удалять файлы лучше этой командой или api или другими библиотеками? Потому что во всех примерах что нахожу используются winapi. 2) Эта функция посылает команды только для windows или она еще и для других систем подходит? 3) Эта функция посылает всё что ввел в... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
05.10.2010, 15:33     Определить количество положительных элементов массива, предшествующих первому отрицательному
Цитата Сообщение от yariknarik Посмотреть сообщение
компилятор может тупить, некоторые команды существующте в С неупотребляются в С++, кроме того в С нет классов, если прога маленькая, это не создает много проблем, а в больших прогах потом очень трудно найти ошибки... компилятор не всегда их показывает.
Цитата Сообщение от wertrix Посмотреть сообщение
Вы можете сказать, в чем недостатки смешивания С и С++ кода в одной программе?
Ну в общих чертах Вам ответили. Конкретнее - коль скоро С++ объектно ориентированный язык программирования, то и потоки ввода/вывода в нём представлены объектами соответствующих классов ( cin - объект класса istream, cout - ostream ), С в стиле UNIX воспринимает stdin, как файл, открытый для чтения, stdout - как файл, открытый для записи. Если смешивать оба подхода в одной программе - получится, что для одного и того же потока используются разные буферы и часть ввода/вывода может просто теряться. К тому же обработка ошибок (в том числе и ввода/вывода) в С и С++ организована по-разному. Вот к примеру програмка, читающая с консоли число, в случае ошибки ввода присваивающая числу значение по умолчанию и выводящая число обратно на консоль
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main(void){
    int number;
 
    printf("Enter some number: ");
    if ( scanf("%d", &number) != 1 ){
        fprintf(stderr, "Wrong input! Setting number to default value - 0\n");
        number = 0;
    }
 
    printf("The number is %d\n", number);
 
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main(){
    int number;
 
    std::cin.exceptions(std::cin.failbit);
    std::cout << "Enter some number: ";
    try {
        std::cin >> number;
    }
    catch ( std::ios_base::failure & ){
        std::cerr << "Wrong input, setting number to default value - 0" << std::endl;
        number = 0;
    }
 
    std::cout << "The number is " << number << std::endl;
 
    return 0;
}
В таком простом примере, конечно, без разницы - и так работает, и эдак, а вот когда встанет вопрос, как бы это вывести поля класса (к примеру), прийдётся задуматься... То ли пытаться printf() перегружать , то ли переделывать вывод так, как он в С++ задуман, а переучиваться всегда сложнее...

Добавлено через 1 минуту
а уж как до динамической памяти дело доходит, за использование malloc()/free() вперемешку с new/delete можно сразу конечности отрывать...
 
Текущее время: 07:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru