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

преобразование типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно срочно написать программы в С++ http://www.cyberforum.ru/cpp-beginners/thread256722.html
1. Подсчитать и вывести на экран количество элементов массива, равных заданному значению. Заданное значение вводится с клавиатуры. 2. Составить программу, которая вводит матрицу размерностью M на N, анализирует ее и выдает на экран номера столбцов, содержащих равное количество положительных и отрицательных элементов.
C++ Численные методы Здравствуйте. Помогите пожалуйста разобраться в численных методах интегрирования. Нужно осовоить три способа(Прямоугольников, трапеций и Симпсона). Один как мне кажется я уже освоил(Прямоугольков) #include<iostream.h> #include<math.h> #include<windows.h> char Newt; http://www.cyberforum.ru/cpp-beginners/thread256707.html
C++ Нахождение биноминального коэфицента
Вот написал прорграмму по нахождению биноминального коэфицента, но мне кажется что она криво работает. #include <stdio.h> int Cnk(int k, int n) { int i; long long res = 1; if (k > n - k) k = n - k; for(int i = 1; i <= k; i++) res = res * (n - i + 1) / i;
C++ Вложенные циклы
Не совсем понимаю работу вложенных циклов. Объясните пожалуйста следующее. Инструкция myArr=myArr; myArr=min; относится инструкцией внешнего цикла или внутреннего? Сортировка выбором. for(int i=0;i<size;i++) { min=myArr;n=i; for(int j=i+1;j<size;j++) if(myArr<min) {min=myArr; n=j; } myArr=myArr; myArr=min;
C++ Какие Программы нужно для C++?? http://www.cyberforum.ru/cpp-beginners/thread256682.html
Какие Программы нужно для C++??Просто я новичок в C++ И ничего не знаю!! Помогите
C++ программа на С++ с использованием графики! 1. В левой верхней части экрана нарисовать прямоугольник, в средине него квадрат, а в средине квадрата текст. Все элементы рисунка сделать разными цветами. Все замкнутые области залить разными цветами. 2. нарисовать домик. Крышу - красным цветом, окна - белым, стены - жёлтым, забор - коричневым. подробнее

Показать сообщение отдельно
IVIbILLIb
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 6

преобразование типов - C++

13.03.2011, 20:49. Просмотров 664. Ответов 2
Метки (Все метки)

помогите у меня программа выдает ошибки преобразования типов подскажите как должно быть чтоб все работало программа делает перестановки чисел массива <8
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include "stdafx.h"
#include <iostream>
#include <math.h>     //математические функции
#include "conio.h"
using namespace std;
int i=0,t=0,z=0,c[100],q=0,x=0,y=0,l=0;
char ch;                //переменная по воодимый символ
long double A=0,kol_per;    //переменные по исходные данные и результат
long double f(long double);
void Perestanovki(int,int,int);
void swap(int &,int &);
void Obrabotka(int,int);
int B[]={1,2,3,4,5,6,7,8};
 
int _tmain()
{
    setlocale(LC_ALL,"rus_rus.1251");
    printf("Введите размерность шахматной доски (желательно не больше 8)");
    do{ //цикл по обработке вводимой последовательности цифр
    ch=_getch(); //
    if (ch==27) //если нажали клавишу "ESC" во время ввода данных, то
    {
        q=1;    //ставим признак прерывания программы и
        break;   //прерываем ввод данных
    }
    if (ch>='0'&&ch<='9'&&z!=0) //обрабатываем вводимые символы после первого
    {
        z=z+1;
        c[z]=ch-48;
        cout<<c[z];
    }
    if (ch=='.'&&t==0&&z!=0) //обрабатываем ввод точки,
               //если она идет не на первом месте и не после нуля
    {
        t=z;
        cout<<".";
    }
    if (ch=='.'&&t==0&&z==0) //обрабатываем, если первой введена точка
    {
        z=1;
        c[z]=0; //первый символ '0', затем точка
        t=1;  //флаг и позиция точки
        cout<<"0.";
    }
    if (ch=='0'&&t==0&&z==0) //если вводим сначала 0
    {
        z=1;
        c[z]=0; //первый символ 0, затем точка
        t=1;  //флаг и позиция точки
        cout<<"0.";
    }
    if (ch>='0'&&ch<='9'&&z==0) //если первый символ не точка
    {
        z=1;
        c[z]=ch-48;
        cout<<c[z];
    }
    }while (ch!='\r');//ждем конца ввода строки - нажатия "Enter"
    if (t==0) for (i=1;i<=z;i++) A=A+c[i]*pow(10.0,z-i); //если точек не было,
                          //то формируем исходное число
    else for (i=1;i<=z;i++) A=A+c[i]*pow(10.0,t-i);      //то же, если точка была
    printf("\n");
    kol_per=f(A);
    cout<<"Количество вариантов перестановок="<<kol_per<<"\n";
    Perestanovki(B,A,A);
    _getch();
}
 
void Obrabotka(int *M,int n)
{
    for(int h=0;h<n;h++)cout<<M[h]<<" ";
}
void swap(int &a,int &b)
{
    int temp=a;
    a=b;
    b=temp;
}
void Perestanovki(int *M,int n, int N)//M - массив, n - число переставляемых элементов, 
                                      //N - реальный размер массива  
{
    if(n==1)Obrabotka(M,N); //если нечего переставлять
    else 
    {
    for(int h=0;h<n;h++)
    {
            swap(M[h],M[n-1]); //меняем последний элемент с каждым,
                              //в том числе и с самим собой.
        Perestanovki(M,n-1,N); //запускаем функцию, для n-1 элементов
        swap(M[h],M[n-1]); //поигрались - и хватит. Надо вернуть массив в прежнее
                                           //состояние для следующего обмена элементов
    }
    }
}
 
long double f(long double l)
{
    if (l==1)
        return(l);
    else
    {
        l=l*f(l-1);
        return(l);
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru