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

Площадь окружностей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считать матрицу из текстового файла http://www.cyberforum.ru/cpp-beginners/thread61526.html
в текстовом файле дана матрица 4 9 5 5 9 2 9 2 9 как считать этот двумерный массив и вывести его на экран? подскажите плиз(c++)
C++ нужно сделать небольшую программку! задача программы: найти какое значение встречаеться в массиве наибольшее количество раз. ввод чисел в массив с клавиатуры для С. кому несложно помочь,буду очень благодарен заранее спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread61524.html
Запись в файл содержимого консоли C++
int main (int argc, LPTSTR argv) { cout<<argv<<endl<<argv ; HANDLE hIn, hOut; hIn=CreateFile (argv , GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); } проблема в том что вместо того что я ввожу выводятся какие-то цифры... может есть способ написать так: int main (int argc, char* argv) а потом как то конвертнуть argv в LPTSTR или в LPWSTR или может в TCHAR????
Поиск в массиве числа, встречающегося наибольшее число раз. C++
задание такого: программа должна находить значение встречаещееся в массиве наибольшее число раз. если кто может помоч,буду очень благодаен!! заранее спасибо!!
C++ Переделать Код! http://www.cyberforum.ru/cpp-beginners/thread61504.html
Вообщем прога написана на с++ 2007, его надо переделать в версию 5.02! Должна выводить Числа от 0 до бесконечности!(пока не выключишь прогу) вот код: #include <iostream> int main() { long double count = 0; while ( true ) { std::cout << count++ << std::endl; }
C++ Прочитать память по заданному адресу. Надо написать программу на С в Linux, которая находит в памяти другую программу и читает её содержимое. На ассемблере в DOS я это делал. А как здесь?. подробнее

Показать сообщение отдельно
sheka
Босс
161 / 127 / 7
Регистрация: 03.06.2009
Сообщений: 751
07.11.2009, 01:12
Вот решение. Только несколько но:
1. идея вышеприведеного решения правильна, если не учитывать ошибки "времени выполнения" площадь круга = 2ПR))), вместо минуса плюс итп., т.к. писал в полночь)))
2. Вроде программа работает правильно (считал по клеточкам), но лучше перепроверьте, т.к. ошибки "времени выполнения" не исключины) и Си я вообще не знаю
3. Если все же вам надо будет полное объяснение - пишите - напишу.
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
#include <cmath>
#include <iostream>
#include <conio.h>
using std::cout;     // подключишь cout
using std::cin;       // подключишь cin
using std::endl;     // подключишь endl
 
float g(int r1,int r2,float f){
    float a=(r1*r1-r1*r2*cos(f))/sqrt(r1*r1+r2*r2-2*r1*r2*cos(f));
    cout<<"a="<< a<<endl;
    cout<<"r1="<< r1<<endl;
    return(acos(a/r1));
}
 
float s1(int r1,int r2,float g){
    return(r1*r1*(g-sin(2*g)/2));
}
 
float s2(int r1,int r2,float g, float f){
    return(r2*r2*((M_PI-f-g)+sin(2*(f+g))/2));
}
 
main(){
    int n;
    cout<<"vvedi n"<<endl;
    cin>>n;
    float f=2*M_PI/n;
    int a[n-1];
    int i;
    for(i=0;i<=n-1;i++){
        cout<<"vvedite radius "<<i+1<<" okruzhnosti"<<endl;
        cin>>a[i];
        cout<<a[i]<<endl;
    }
    float s;
    switch(n){
        case 1: s=M_PI*a[0]*a[0]; break;
        case 2: s=M_PI*(a[0]*a[0]+a[1]*a[1]); break;
        case 3: case 4: for(i=0,s=0;i<=n-1;i++){
            s+=M_PI*a[i]*a[i]-(s1(a[i],(i<(n-1))?a[i+1]:a[0],g(a[i],(i<(n-1))?a[i+1]:a[0],f))+s2(a[i],(i<(n-1))?a[i+1]:a[0],g(a[i],(i<(n-1))?a[i+1]:a[0],f),f));
            } break;
    }
    cout<<"s="<< s<<endl;
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru