Показать полную графическую версию : [решено] C++ помогите написать программу
Hatalllka1
20-09-2012, 09:17
Помогите пожалуйста написать 2 легкие программки...:)
1. Длина отрезка в дюймах (1 дюйм=2.54см). Перевести значение длины в метрическую систему, т.е. выразить ее в метрах, сантиметрах и миллиметрах. Так, например, 21 дюйм = 0 м 53 см 3,4 мм.
2. Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3). Или вывести сообщение, что таких чисел нет.
Какие конкретные затруднения у Вас возникают при написании этих «двух лёгких программок»?
Hatalllka1
20-09-2012, 09:32
для кого-то они легкие:)
1.сломался ноут, поэтому не могу воспользоваться visual basic, а написать нужно до вторника
2.я только начала учить язык, если бы visual могла бы хоть проверять программу на работоспособность...
1.сломался ноут, поэтому не могу воспользоваться visual basic, а написать нужно до вторника »
1. Машина всегда ломается очень вовремя и кстати, поверьте.
2. Не пользуйтесь VB — пользуясь им, Вы не напишете программы на С/С++. Пользуйтесь VC.
3. До вторника у Вас ещё масса времени, просто не откладывайте на последний день.
я только начала учить язык, если бы visual могла бы хоть проверять программу на работоспособность... »
1. Все когда-то начинали.
2. VC — может. Скомпилируйте программу и запустите её. Можно это делать как непосредственно, так и из среды разработки (что гораздо проще).
Хотя сам только учусь, но хочется помочь девушке. Программки написаны на с++ в Visual Studio
1)
#include<cmath>
#include<iostream>
using namespace std;
double modf(double num, double *i);
void con(double a){
double d; int t,n;
a=a*2.54;
modf(a,&d);
if(d>=100){
n=(int)d%100;
t=int(d/100);
cout<<"В метричной системе это "<<t<<" метров ";
cout<<n<<" сантиметров ";}
else
cout<<"В метричной системе это 0 метров "<<d<<" сантимеров ";
cout<<modf(a,&d)<<" мелиметров"<<endl;
}
int main()
{setlocale(0,"rus");
double x;
cout<<"Введите длину отрезка в дюймах"<<endl;
cin>>x;
con(x);
cin.get();
cin.get();
return 0;
}
2) Если я правильно понял условия
#include<iostream>
using namespace std;
bool check(int f){
if(f>=1&&f<=3)
return true;
else
return false;}
int main()
{setlocale(0,"rus");
int a,b,d,n=0;
cout<<"Введите три числа"<<endl;
cin>>a>>b>>d;
cout<<'\n';
if(check(a)) cout<<a<<' ';
else n++;
if(check(b)) cout<<b<<' ';
else n++;
if(check(d)) cout<<d<<' ';
else n++;
switch(n){
case 1:
cout<<"Одна цыфра не в интервале"<<endl;
break;
case 2:
cout<<"Две цыфры не в интервале"<<endl;
break;
case 3:
cout<<"Все цыфры не в интервале"<<endl;
break;}
cin.get();
cin.get();
return 0;
}
Если я правильно понял условия »
Неправильно. Задача выбрать числа, а не посчитать их количество.
Вот решение в MinGW Developer Studio
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
const int digCount = 3;
const float min = 1;
const float max = 3;
int main()
{
bool isFind = false;
float a[digCount];
for (int i = 0; i < digCount; i++)
{
cout << "Введите " << i + 1 << " число: ";
cin >> a[i];
};
for (int j = 0; j < digCount; j++)
{
if ((a[j] > min) && (a[j] < max))
{
if (!isFind)
{
cout << "В интервал (" << min << "," << max <<") попали следующие числа: ";
isFind = true;
};
cout << a[j] << " ";
};
};
if (!isFind) cout << "Ниодно число не попало в интервал.";
return 0;
}
torauma,
У вас более профессиональная программа с применением массива. Хотя смысл задачи я понял неправильно согласен.
Ваш пример немного упростил . функционал не пострадал. :)
#include<iostream>
using namespace std;
int main()
{
int min = 1;
int max = 3;
bool isFind = false;
float a[3];
for (int i = 0; i < 3; i++)
{
cout << "Введите " << i + 1 << " число: ";
cin >> a[i];
}
for (int j = 0; j < 3; j++)
{
if ((a[j] > min) && (a[j] < max))
{
if(!isFind){
cout << "В интервал (" << min << "," << max <<") попали следующие числа: ";
isFind = true;}
cout << a[j] << " ";
}
}
if (!isFind) cout << "Ниодно число не попало в интервал.";
return 0;
}
Думаю модификатор const в этой задачке не нужен.
Думаю модификатор const в этой задачке не нужен. »
Если так рассуждать, то он вообще не нужен. Однако, если какое то значение не изменяется на протяжении программы, то его принято определять как константу. Не стоит пренебрегать такими, казалось бы, незначительными правилами. Их соблюдение помогает сделать программу более читаемой и избежать дополнительных ошибок.
У вас более профессиональная программа с применением массива. »
Более профессиональная не столько из-за применения массива, сколько из-за смысла его применения. Если в задаче изменить числовые данные (например, 10 чисел и интервал (0.5, 8.6)), то будет достаточно изменить значения констант, а алгоритм останется прежним. Кстати, вы благополучно убрали такую возможность жестко задав длину массива.
P.S. Посмотрите на верх формы ответа. Видите там значки инструментов форматирования? Среди них есть значек #. Воспользуйтесь им когда в следующий раз решите разместить на форуме текст программы.
Однако, если какое то значение не изменяется на протяжении программы, то его принято определять как константу. »
Не «не изменяется», а «не должно изменяться».
Hatalllka1
23-09-2012, 10:08
спасибо большое!:)
Лена Лебедева
04-02-2014, 16:36
помогите пожалуйста!
1)Значение f(k) заключено между значениями t1= -a - √(b+m), t2=√(a+b+m),но не равно нулю.
2)Дана матрица из 2 столбцов и 10 строк.Первый элемент каждой строки представляет абсциссу,второй ординату из 10 точек плоскости.Отпечатать расстояния от начала координат для тех точек,которые принадлежат кругу с заданным радиусом, и число таких точек.
Лена Лебедева, Вы принципиально не хотите читать (http://forum.oszone.net/thread-277079.html) Правила Форума (http://forum.oszone.net/announcement-21-187.html)? В таком случае я не поленюсь привести Вам их здесь, выделив относящее непосредственно к Вашему вопросу:
Правила форума «Программирование»
Правила форума Программирование являются дополнением к Общим Правилам Конференции, действуют только в этом разделе и обязательны для соблюдения всеми участниками данного раздела.
Создавая темы в форуме, выберите правильную категорию. Если Вы пишете на C\C++, .Net, Win32 API и т.д. выберите соответствующую категорию. Если вы затрудняетесь определить категорию, прочтите это - Перед прочтением - съесть
Убедитесь что заголовок темы информативен. Все темы с названиями: «помогите, горю, срочно, решите лабу» и т.д. будут перемещены в Уголок Ленивого Программиста.
Всегда оформляйте ваш код тегами [сode] - . Читабельность кода залог того что Вашей проблемой заинтересуются. Не соблюдение этого правила повлечёт перенос темы в раздел Тест-форум.
Опишите свой вопрос максимально ясно, перечислите варианты которые Вы уже испробовали, если среда разработки выдаёт какие-либо информативные сообщения (ошибки, предупреждения), приведите их, можно скриншотом.
Вопросы, в которых нет кода и следов ваших размышлений над поставленной задачей также будут перенесены в закрытую тему - Уголок Ленивого Программиста
Если Вам помогли решить проблему, отметьте тему решённой.
Ах, да — дублирование вопроса тоже не приветствуется.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.