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

Напишите пожалуйста програмный код) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найдить ошибку http://www.cyberforum.ru/cpp-beginners/thread67981.html
// Ета программа запрашивает у пользователя два числа #include <iostream.h> #include <conio.h> #pragma hdrstop int multiply(int, int) void showResult(int) int main (int argc, char *argv)
C++ Стек на основе связанного списка C++ Привет:) Мне нужно разработать функции занесения и извлечения данных стека на основе связанного списка!на основе массива уже написала, а это не пойму как сделать нужно... Плиз помогите, кто знает... http://www.cyberforum.ru/cpp-beginners/thread67978.html
Программа с описанными шаблонами структур и их массивом C++
Написать программу, отвечающую следующим требованиям: 1. Наличие внешне описанного шаблона структуры name с двумя элементами: строкой для имени и строкой для фамилии. 2. Наличие внешне описанного шаблона структуры data с тремя элементами: число (1...31), месяц (1...12), год (1900...2100) 3. Наличие внешне описанного шаблона структуры anketa с тремя элементами: структурой name, pol (м.ж.),...
C++ Меню
Программа должна содержать меню. В последовательности целых чисел определить количество элементов, значения которых находятся в интервале и среди них определить максимальный. Помогите пожалуйста!!!
C++ Рекурсия: найти n-й член геометрической прогрессии http://www.cyberforum.ru/cpp-beginners/thread67951.html
Используя рекурсивную функцию, найти n-й член геометрической прогрессии с заданным первым членом b и знаменателем прогрессии q. Заранее благодарствую-)))
C++ Определить, какая цифра в заданном числе встречается чаще других Дано натуральное число. Определить, какая цифра в этом числе встречается чаще других. Помогите плс с решением-))заранее спс подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
28.11.2009, 06:05     Напишите пожалуйста програмный код)
Анастисия, первое задание, если правильно понял, получить строку и определить, является ли она представлением целого числа? Вот простенький вариант:
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
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
 
#include <string>
using std::string;
 
// функция, которая определяет, является ли число целым
// возвоащает true, если да
bool checkVal(const string& s){
    string::const_iterator i;
    for ( i = s.begin(); i != s.end(); i++ ){
        if ( i == s.begin() && ( *i == '-' || *i == '+' ) )
            continue;
        if ( *i < '0' || *i > '9' )
            return false;
    }
    
    return true;
}
 
 
// Написать программу используя функцию, которая определяет, является ли число целым (с помощью цикла for)
int main(){
    string str;
    
    while ( 1 ){
        cout << "Введите число (0 - выход): ";
        cin >> str;
        if ( str.at(0) == '0' )
            break;
        
        if ( checkVal(str) )
            cout << "Ага, похоже на целое число." << endl;
        else
            cout << "Не-а, не похоже!" << endl;
    }
    
    return 0;
}
Добавьте только в начало main что-нибудь типа setlocale(LC_ALL, ""), чтобы русские буквы выводились, ну или просто вывод транслитом перепишите... А можно ещё пробелы в начале / в конце строки удалять, проверять запись типа 1e2, etc... короче, есть, где развернуться

Цитата Сообщение от Акелла Посмотреть сообщение
float fSrAr , fPrz = 1; for(i = 0; i < n; i++) { fSrAr = fSrAr + mas[i];
fSrAr - неинициализированная переменная. Тогда уж
C++
1
float fSrAr = 0, fPrz = 1;
Цитата Сообщение от Акелла Посмотреть сообщение
for(i = 0; i < n; i++) { if(mas[i] < 0) mas[i] = fSrAr ; else if(mas[i] > 0) mas[i] = fPrz; }
Была N большая, стала маленькая... 0 тоже положительным числом считается. Да и записать короче можно:
C++
1
2
for ( i = 0; i < N; i++ )
    mas[i] = ( mas[i] < 0 ) ? fSrAr : fPrz;
Добавлено через 1 час 8 минут
Цитата Сообщение от Анастисия Посмотреть сообщение
2)Написать программу которая заминяет отрицательные элементы массива на среднее арифметическое а положительные элементы на произведение элементов массива.
Всё равно не спится
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 <iostream>
using std::cin;
using std::cout;
using std::endl;
using std::cerr;
 
int main(){
    double sum, mul, avg, *arr;
    size_t count, i;
    
    cout << "Элементов в массиве: ";
    cin >> count;
    
    if ( !count ){
        cerr << "Хоть один-то элемент должен быть." << endl;
        return 1;
    }
    
    arr = new double [ count ];
    
    sum = 0.0;
    mul = 1.0;
    for ( i = 0; i < count; i++ ){
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
        sum += arr[i];
        mul *= arr[i];
    }
    
    avg = sum / (double)count;
    
    cout << endl << "Введённый массив:" << endl;
    for ( i = 0; i < count; i++ )
        cout << "arr[" << i << "] = " << arr[i] << endl;
        
    cout << endl << "Среднее арифметическое элементов = " << avg << endl;
    cout << "Произведение элементов = " << mul << endl;
    
    for ( i = 0; i < count; i++ )
        arr[i] = ( arr[i] < 0 ) ? avg : mul;
    
    cout << endl << "После обработки:" << endl;
    for ( i = 0; i < count; i++ )
        cout << "arr[" << i << "] = " << arr[i] << endl;
        
    delete [] arr;
    return 0;
}
То же замечание по поводу русских букв в консоли...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru