Другие языки программирования и технологии
Помогите составить программу с помощью С и С++.
Данна матрица из 2 столбцов и 10 строк. Первый элемент каждой строки представляет диаметр внутренней, а второй - диаметр внешней окружности кольца. Отпечатать внешние диаметры тех колец, площадь которых больше площади прямоугольника с заданными сторонами, и число таких колец.
"Составить" или "написать" - не принципиально, хотя лучше подходит слово "написать". А вот что неясно, это "С и С++" - это разные языки, хотя большинство конструкций C работают и в C++. Полагаю, что всё-таки нужны не две программы, а одна.
На C++:
#include "iostream"
using namespace std;
int main(){
const int n=10; const float PI4=3.1415926536/4; float r[n][2],a,b,s; int k=0;
for(int i=0;i< n;i++){cout<<"Ring "<< i<<": d D: "; cin>>r[i][0]>>r[i][1];}
cout<<"Rectangle: a b: "; cin>>a>>b; s=a*b;
for(int i=0;i< n;i++)if(PI4*(r[i][1]*r[i][1]-r[i][0]*r[i][0])>s)cout<< r[i][1]<<' ',k++;
cout<< endl<<"k="<< k<< endl; cin.get(); cin.get();}
На C++:
#include "iostream"
using namespace std;
int main(){
const int n=10; const float PI4=3.1415926536/4; float r[n][2],a,b,s; int k=0;
for(int i=0;i< n;i++){cout<<"Ring "<< i<<": d D: "; cin>>r[i][0]>>r[i][1];}
cout<<"Rectangle: a b: "; cin>>a>>b; s=a*b;
for(int i=0;i< n;i++)if(PI4*(r[i][1]*r[i][1]-r[i][0]*r[i][0])>s)cout<< r[i][1]<<' ',k++;
cout<< endl<<"k="<< k<< endl; cin.get(); cin.get();}
#define _USE_MATH_DEFINES
#include <iostream>
#include <vector>
using namespace std;
class Ring {
public:
Ring(const double out, const double in) : out_(out), in_(in) {
if (out_ < in_) {
swap(out_, in_);
}
}
double area()const {
return area(out_) - area(in_);
}
double out()const {
return out_;
}
private:
double out_;
double in_;
static double area(const double d) {
const auto r = d / 2;
return M_PI * r * r;
}
};
class Rectangle {
public:
Rectangle(const double a, const double b) : a_(a), b_(b) {}
double area()const {
return a_ * b_;
}
private:
double a_;
double b_;
};
int main() {
// матрица с данными
const double data[][2] = {
{ 2.5, 3.7 },
{ 3.2, 4.9 },
{ 1.3, 9.4 },
{ 6.2, 7.9 },
{ 3.5, 6.1 },
{ 4.2, 4.8 },
{ 7.6, 9.9 },
{ 0.8, 6.8 },
{ 2.7, 3.1 },
{ 1.9, 8.3 }
};
vector<Ring> rings;
for (const auto &item : data) rings.emplace_back(Ring(item[0], item[1]));
// стороны квадрата
const auto a = 4.1;
const auto b = 3.7;
Rectangle rect(a, b);
// счётчик совпадений
size_t count = 0;
for (const auto &ring : rings) {
if (ring.area() > rect.area()) {
cout << "Outer: " << ring.out() << '\n';
++count;
}
}
cout << "Count: " << count << endl;
system("pause");
}
#include <iostream>
#include <vector>
using namespace std;
class Ring {
public:
Ring(const double out, const double in) : out_(out), in_(in) {
if (out_ < in_) {
swap(out_, in_);
}
}
double area()const {
return area(out_) - area(in_);
}
double out()const {
return out_;
}
private:
double out_;
double in_;
static double area(const double d) {
const auto r = d / 2;
return M_PI * r * r;
}
};
class Rectangle {
public:
Rectangle(const double a, const double b) : a_(a), b_(b) {}
double area()const {
return a_ * b_;
}
private:
double a_;
double b_;
};
int main() {
// матрица с данными
const double data[][2] = {
{ 2.5, 3.7 },
{ 3.2, 4.9 },
{ 1.3, 9.4 },
{ 6.2, 7.9 },
{ 3.5, 6.1 },
{ 4.2, 4.8 },
{ 7.6, 9.9 },
{ 0.8, 6.8 },
{ 2.7, 3.1 },
{ 1.9, 8.3 }
};
vector<Ring> rings;
for (const auto &item : data) rings.emplace_back(Ring(item[0], item[1]));
// стороны квадрата
const auto a = 4.1;
const auto b = 3.7;
Rectangle rect(a, b);
// счётчик совпадений
size_t count = 0;
for (const auto &ring : rings) {
if (ring.area() > rect.area()) {
cout << "Outer: " << ring.out() << '\n';
++count;
}
}
cout << "Count: " << count << endl;
system("pause");
}
на первом занятии по программированию вам должны были объяснить что программы не составляются а пишутся
Kaxa Mchedlidze
По-моему, и так и так можно сказать. "Написать" конечно более подходящее слово, но не принципиально.
Леха *
Простите. я поспешила и написала так, но разве это настолько важно? Мне всего лишь нужна помощь.
Похожие вопросы
- Помогите составить программу на паскале!
- Помогите составить программу на pascal
- помогите составить программу на языке Turbo pascal
- Помогите составить программу. тема "Процедуры и функции" при помощи Паскаль
- Помогите составить программу на языке Pascal
- Помогите составить программу на языке Pascal
- помогите составить программу в паскаль, плиз
- Помогите составить программу на Turbo Pascal?
- Помогите составить программу в Pascal ABC
- Помогите составить программу в Pascal