Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
#1

длина наименьшего отрезка - C++

18.11.2009, 22:20. Просмотров 2059. Ответов 25
Метки нет (Все метки)

Простите,в поиске не нашёл. Помогите решить пожалуйста на C++

Дан массив А из N вещественных чисел. Найти длину наименьшего отрезка числовой оси, содержащего числа A[0], A[1], . . ., A[N-1].

Добавлено через 50 минут
Ну помогите ради бога,завтра надо
http://www.cyberforum.ru/cpp-beginners/thread902113.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2009, 22:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос длина наименьшего отрезка (C++):

Длина отрезка
Всем привет! Даны четыре числа X1, Y1, X2, Y2 - координаты концов отрезка....

Наибольшая длина отрезка
Дан массив целых чисел. Рассмотреть отрезки последовательности ...

Длина отрезка по координатам вершин
разработать функцию f(x1,y1,x2,y2),каторая вычесляет длину отрезка по...

Длина отрезка задана в дюймах, перевести значение длины в метрическую систему
Длина отрезка задана в дюймах (1 дюйм = 2,54 см). Перевести значение длины в...

Составить программу для нахождения наибольшего и наименьшего общего делителя и наименьшего общего кратного двух натуральных чисел
Составить программу для нахождения наибольшего и наименьшего общего делителя и...

25
ser4ega
27 / 27 / 12
Регистрация: 15.11.2009
Сообщений: 147
18.11.2009, 22:22 #2
Ищем максимум, ищем минимум, отнимаем из одного другое.
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
18.11.2009, 22:39  [ТС] #3
Цитата Сообщение от ser4ega Посмотреть сообщение
Ищем максимум, ищем минимум, отнимаем из одного другое.
ну да,это я нагуглил,просто программно не могу реализовать

Добавлено через 12 минут
не понимаю как это - содержащего числа A[0], A[1], . . ., A[N-1]. Зачем тогда вещественный массив раз целые числа
0
Лукас
4 / 4 / 2
Регистрация: 17.11.2009
Сообщений: 32
18.11.2009, 22:46 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<conio.h>
#include<iostream.h>
main()
 {clrscr();
   int i,n=15,
   float m[n],max=-999999.0,min=999999.0;
   cout<<"vvodite el-ty";
   for(i=0;i<n;i++)
     {cout<<"№"<<i+1<<"  ";
       cin>>m[i];
       if(m[i]<min) min=m[i];
       if(m[i]>max) max=m[i];
     }
   cout<<"naimen. otrezok = "<<max-min;
   getch();
 }
Добавлено через 1 минуту
но это, как может заметить внимательный читатель, сработает только если сами элементы не меньше -999999 и не больше 999999.

Добавлено через 1 минуту
проверил, работает?
1
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
18.11.2009, 22:56  [ТС] #5
спасибо, вот только в 6-й строке "Constant expression required"
0
Лукас
4 / 4 / 2
Регистрация: 17.11.2009
Сообщений: 32
18.11.2009, 22:58 #6
после 15 не зпт, а точка с зпт. ^^'
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
18.11.2009, 23:01  [ТС] #7
Цитата Сообщение от Лукас Посмотреть сообщение
после 15 не зпт, а точка с зпт. ^^'
как ни странно это я догадался исправить и всё же такая же ошибка :-)
0
odip
Эксперт С++
7161 / 3219 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
18.11.2009, 23:02 #8
но это, как может заметить внимательный читатель, сработает только если сами элементы не меньше -999999 и не больше 999999.
Писать нужно не так криво.
Нужно проверить что есть хотя бы один элемент и
C
1
max= min= m[0];
0
Лукас
4 / 4 / 2
Регистрация: 17.11.2009
Сообщений: 32
18.11.2009, 23:03 #9
да, точно, забываю.

а та ошибка - n нужно объявлять как const.
тобшь
const n=15;
int i;
...
0
Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
18.11.2009, 23:05 #10
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int k;
    double min = 10000.0, max = -1000000, rez;
    cout<<"Введите кол-во отрезков -> ";
    cin>>k;
    double *dlina = new double[k];
    cout<<"Введите длину отрезка: \n";
    for(int i = 0; i < k; i++)
    {
    cout<<endl<<"\t-> ";
    cin>>dlina[k];
    if(min>dlina[k]) min = dlina[k];
    if(max<dlina[k]) max = dlina[k];
           rez = max - min;
    }
        cout<<"Минимальный отрезок = "<<min<<endl;
        cout<<"Максимальный отрезок = "<<max<<endl;
        cout<<"Найменьший отрезок = "<<rez<<endl;
    cin.ignore();
    cin.get();
}
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
18.11.2009, 23:10  [ТС] #11
Цитата Сообщение от Лукас Посмотреть сообщение
да, точно, забываю.

а та ошибка - n нужно объявлять как const.
тобшь
const n=15;
int i;
...
а что означает "Function should return a value" какое-то значение функции насколько я разбираюсь в английском
0
Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
18.11.2009, 23:33 #12
Код
а что означает "Function should return a value" какое-то значение функции насколько я разбираюсь в английском
Означает что Функция должна возвращать величину.
Если ты объявишь как const n=15;
Ты не сможешь, никак в программе поменять значение n. При попытку, прописать где-то в программе, к примеру n = 25, программа не скомпилится.
0
Лукас
4 / 4 / 2
Регистрация: 17.11.2009
Сообщений: 32
18.11.2009, 23:37 #13
а зачем нам ее менять?
она вообще вынесена отдельно только для того, чтобы, если нам вдруг взбредет в голову "а пусть-ка у нас будет не 15 элементов в массиве, а 20!", не менять это 15 на 20 по всему коду (а ведь где-то можно и забыть), а изменить только в объявлении.
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
19.11.2009, 00:11  [ТС] #14
Цитата Сообщение от Golovastik Посмотреть сообщение
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int k;
    double min = 10000.0, max = -1000000, rez;
    cout<<"Введите кол-во отрезков -> ";
    cin>>k;
    double *dlina = new double[k];
    cout<<"Введите длину отрезка: \n";
    for(int i = 0; i < k; i++)
    {
    cout<<endl<<"\t-> ";
    cin>>dlina[k];
    if(min>dlina[k]) min = dlina[k];
    if(max<dlina[k]) max = dlina[k];
           rez = max - min;
    }
        cout<<"Минимальный отрезок = "<<min<<endl;
        cout<<"Максимальный отрезок = "<<max<<endl;
        cout<<"Найменьший отрезок = "<<rez<<endl;
    cin.ignore();
    cin.get();
}
Спасибо всем! Может у мя BC++ какой-то не такой одни ошибки выдаёт при компиляции

Добавлено через 9 минут
Цитата Сообщение от LeshkinMaloy Посмотреть сообщение
Спасибо всем! Может у мя BC++ какой-то не такой одни ошибки выдаёт при компиляции
function setlocale with no prototype

Добавлено через 16 минут
Цитата Сообщение от Golovastik Посмотреть сообщение
Код
а что означает "Function should return a value" какое-то значение функции насколько я разбираюсь в английском
Означает что Функция должна возвращать величину.
Если ты объявишь как const n=15;
Ты не сможешь, никак в программе поменять значение n. При попытку, прописать где-то в программе, к примеру n = 25, программа не скомпилится.
как же тогда избавиться от "Function should return a value"
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
23.11.2009, 13:55  [ТС] #15
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
#include <iostream>
using namespace std;
 
int main()
{
        setlocale(0,"");
        int k;
        double min = 10000.0, max = -1000000, rez;
        cout<<"Введите кол-во отрезков -> ";
        cin>>k;
        double *dlina = new double[k];
        cout<<"Введите длину отрезка: \n";
        for(int i = 0; i < k; i++)
        {
        cout<<endl<<"\t-> ";
        cin>>dlina[k];
        if(min>dlina[k]) min = dlina[k];
        if(max<dlina[k]) max = dlina[k];
           rez = max - min;
        }
                cout<<"Минимальный отрезок = "<<min<<endl;
                cout<<"Максимальный отрезок = "<<max<<endl;
                cout<<"Найменьший отрезок = "<<rez<<endl;
        cin.ignore();
        cin.get();
Очень прошу, Кому не трудно, составте блок-схему алгоритма решения,пожалуйста!
0
Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
23.11.2009, 14:40 #16
Это вообщем, дописать прямоугольники немного вначале и в конце нужно.
1
Миниатюры
длина наименьшего отрезка  
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
23.11.2009, 14:52  [ТС] #17
Цитата Сообщение от Golovastik Посмотреть сообщение
Это вообщем, дописать прямоугольники немного вначале и в конце нужно.
Ооо,спасибо! оперативно! остальное доделаю. Спасибо!

Добавлено через 2 минуты
Golovastik,а с этим не могли бы помочь
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
02.12.2009, 11:06  [ТС] #18
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
#include <iostream>
using namespace std;
 
int main()
{
        setlocale(0,"");
        int k;
        double min = 10000.0, max = -1000000, rez;
        cout<<"Введите кол-во отрезков -> ";
        cin>>k;
        double *dlina = new double[k];
        cout<<"Введите длину отрезка: \n";
        for(int i = 0; i < k; i++)
        {
        cout<<endl<<"\t-> ";
        cin>>dlina[k];
        if(min>dlina[k]) min = dlina[k];
        if(max<dlina[k]) max = dlina[k];
           rez = max - min;
        }
                cout<<"Минимальный отрезок = "<<min<<endl;
                cout<<"Максимальный отрезок = "<<max<<endl;
                cout<<"Найменьший отрезок = "<<rez<<endl;
        cin.ignore();
        cin.get();
Ещё вопрос: в задании же нужно найти длину наименьшего отрезка числовой оси МАССИВА,а в коде речи идёт о просто заданных пользователем числах,находит макс и мин и разницу этих чисел
0
LeshkinMaloy
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 20
02.12.2009, 18:32  [ТС] #19
Как же с массивом быть?
0
Лукас
4 / 4 / 2
Регистрация: 17.11.2009
Сообщений: 32
02.12.2009, 18:56 #20
дык юзай код из комментария #4, с поправками из комментариев ## 8 и 9.
0
02.12.2009, 18:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2009, 18:56
Привет! Вот еще темы с решениями:

появилась загвоздка с функцией. нужно вывести на экран строку, сост. из звездочек. Длина строки-параметр функциииз звезд. длина строки -
Я видела, что на форуме есть подобные задачи, но ни одно из их решений не...

задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная)
задан текст. удалить из нее все слова, длина которых четная (создать новый...

Задача, нахождение наименьшего
Помогите пожалуйста написать :help: Имеются данные о сотрудниках фирмы...

Программа наименьшего объема
Дана программа: #include &lt;stdio.h&gt; #include &lt;vector&gt; #include &lt;windows.h&gt;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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