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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
#1

Узнать площадь заштрихованой фигуры - C++

06.02.2012, 18:42. Просмотров 799. Ответов 6
Метки нет (Все метки)

Необходимо узнать площадь заштрихованой фигуры вот на этом рисунке Название: 1f2d2404ead7.png
Просмотров: 199

Размер: 831 байт как делать задачу мне ясно: говорим пользователю ввести значение сторон прямоугольника ap и bp, множим их и узнаем площадь прямоугольника, для эллипса просим указать длину большой полуоси (ae) и длину малой полуоси (bе) потом площадь эллипса будет число пи *ae*be, затем от площади прямоугольника отнимаем площадь эллипса и получаем площадь заштрихованой фигуры! Но вот с кодом не выходит!
сначала указываем модули и переменные
C++
1
2
3
4
  #include<stdio.h>
  #include<conio.h>
  #include<math.h>
int S,S1,S2,ap,bp,ae,be;
далее вот как-то так наверное
C++
1
2
3
4
5
6
7
8
9
10
11
{
  printf("VVedite storoni pramoygolnika a i b;\n");
  printf("a=");
  scanf("%d",%ap);
  printf("b=");
  scanf("%d",%bp);
  printf("VVedite dlinu bolshoi i maloi osi elipsa;\n");
  printf("a=");
  scanf("%d",%ae);
  printf("b=");
  scanf("%d",%be);
теперь узнаем площади, тут и загвоздка, с прямоугольником ясно
C++
1
S1=ap*bp
а с эллипсом нет, как указать число пи?
потом ясно
C++
1
2
3
4
S=S1-S2;
  printf("S=%d",S);
  getch();
}
так?
теперь вопросы: что нужно поставить перед {, я читал, что ставится void main(), но в таком случае выдает ошибку; также при таком коде на каждом scanf ругается, что 10 expected primary-expression before '%' token, что это значит? пока все вопросы если я вообще неправильно написал, напишите, как бы Вы сделали эту задачу! Буду весьма благодарен!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 18:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Узнать площадь заштрихованой фигуры (C++):

Методом Монте-Карло определить площадь заштрихованой фигуры - C++
Нарисовать линиями в Chart for (int i=0; i&lt;=100; i++) { x=i; ...

Исправить программу для определения площади заштрихованой фигуры - C++
Добрый день! Помогите исправить программу в C++. Вот такие условия: Составить программу для определения методом Монте-Карло площади...

Составить программу для определения площади заштрихованой фигуры - C++
Добрый день! Помогите написать программу в C++. Вот такие условия: Составить программу для определения методом Монте-Карло площади...

Составить программу для определения методом Монте-Карло площади заштрихованой фигуры - C++
Всем привет! Помогите,пожалуйста , решить задачу .Нужно найти площадь фигуры методом Монте Карла.Я про этот метод впервые слышу ,поэтому...

Площадь фигуры - C++
Вычислить площадь фигуры ограниченной линиями f1(x) и f2(x) (табл.1). Для вычисления площади фигуры ограниченной линиями можно...

Вычислить площадь заштрихованной фигуры - C++
Нужно перевести пример из изображения в код на C++ Конкретно задание: 2. Вычислить площадь заштрихованной фигуры. Необходимые...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dimcoder
Полярный
462 / 434 / 68
Регистрация: 11.09.2011
Сообщений: 1,132
06.02.2012, 19:18 #2
Цитата Сообщение от gylayko Посмотреть сообщение
scanf ругается
Так лучше:
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
#include <cstdio>
#include <cmath>
#include <cstdlib>
 
 
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int S,S1,S2,ap,bp,ae,be;
    
    printf("VVedite storoni pramoygolnika a i b;\n");
    printf("a=");
    scanf("%d",&ap);
    printf("b=");
    scanf("%d",&bp);
    printf("VVedite dlinu bolshoi i maloi osi elipsa;\n");
    printf("a=");
    scanf("%d",&ae);
    printf("b=");
    scanf("%d",&be);
    
    float s = (ap*bp)-(ae*be*3.14159);
    
    printf("%f",s);
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
1
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
06.02.2012, 20:38  [ТС] #3
а можно немного обьяснений?
C#
1
2
3
#include <cstdio>
#include <cmath>
#include <cstdlib>
а почему после названия моделя нет .h
и можно вот эти два куска откоментировать?
C++
1
2
3
using namespace std;
 
int main(int argc, char *argv[])
C++
1
2
    system("PAUSE");
    return EXIT_SUCCESS;
0
remarkes
302 / 225 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
06.02.2012, 23:38 #4
Цитата Сообщение от gylayko Посмотреть сообщение
а почему после названия моделя нет .h
это модули для C++
для си - будут точка-h
а зачем они так сделали - не знаю. наверное, чтобы выделиться

Добавлено через 21 минуту
Цитата Сообщение от gylayko Посмотреть сообщение
using namespace std;
пространство имен std
using позволяет обращаться к объектам, например std::cout, напрямую.

Цитата Сообщение от gylayko Посмотреть сообщение
int main(int argc, char *argv[])
главная функция программы. точка входа. с нее начинает работать программа.
переменные argc и *argv[] - это соответственно параметры переданные этой функции.
когда ты набираешь в командной строке echo Hello
то помимо вызова самой программы echo ты передаешь ей параметры:
argv[0]="./echo" // само название программы
argv[1]="Hello"
Переменная argc содержит количество этих параметров. То есть в примере argc=2.
Минимум в argc=1 (потому что передана строка с названием программы).
int перед main означает, что она должна вернуть код завершения.
То есть, например:
return 0;

Цитата Сообщение от gylayko Посмотреть сообщение
system("PAUSE");
передает переданный аргумент командной оболочке. То есть как бы выполнить в командной оболочке команду пауза.

Цитата Сообщение от gylayko Посмотреть сообщение
return EXIT_SUCCESS;
EXIT_SUCCESS - это макрос. переводится с английского "выйти, если все удачно".
макрос перед этим должен был быть определен директивой define

C
1
#define EXIT_SUCCESS 0
грубо говоря это return 0;
1
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
07.02.2012, 10:56  [ТС] #5
да, а мне еще нужно указать ширину поля и точность в результате, то есть как выводить результат! то есть в паскале это пишется так:
Pascal
1
writeln('result',S:2:3);
вот эти 2 и 3 это и есть ширина поля и точность, а в с++ это как написать?
0
dimcoder
Полярный
462 / 434 / 68
Регистрация: 11.09.2011
Сообщений: 1,132
07.02.2012, 11:26 #6
Цитата Сообщение от gylayko Посмотреть сообщение
да, а мне еще нужно указать ширину поля и точность в результате, то есть как выводить результат!
Ну тут можно использовать манипуляторы. Честно не знаю, как это делать с printf, но с iostream так:
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
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int S,S1,S2,ap,bp,ae,be;
    
    cout << "VVedite storoni pramoygolnika a i b;\n";
    cout << "a=";
    cin >> ap;
    cout << "b=";
    cin >> bp;
    cout << "VVedite dlinu bolshoi i maloi osi elipsa;\n";
    cout << "a=";
    cin >> ae;
    cout << "b=";
    cin >> be;
    
    float s = (ap*bp)-(ae*be*3.14159);
    
    cout.precision(2);
    cout.width(7);
    
    cout << s << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Просто поэксперементируйте со значениями передаваемые в cout.width() и cout.precision()
1
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
19.02.2012, 19:15  [ТС] #7
если кому нужно будет, то ширина поля и точность можно указать вот так
C++
1
printf("result=%2.3f",S);
всем большое спасибо! задача сделана, тему можно закрывать)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2012, 19:15
Привет! Вот еще темы с ответами:

Нарисовать и вычислить площадь заштрихованной фигуры - C++
Помогите пожалуйста с написание кода Есть код для другой фигуры, примерная форма и мой вариант с фигурой (Окружность, внутри ромб ) Как...

Вычислить площадь и периметр плоской фигуры - C++
Задание 1. Вычислить площадь и периметр плоской фигуры.

Вычислить площадь фигуры ограниченной линиями - C++
Ребят помогите плс!Задачка никак не получается((( Постановка задачи. Вычислить площадь фигуры ограниченной линиями f1(x) и f2(x) ...

Найти приблизительную площадь фигуры по функциям - C++
Условие: найти приблизительную площадь фигуры, ограниченную линиями, заданными функцией у=х^2 и у=5+х/2, разбивая отрезок измерения x на 10...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.02.2012, 19:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru