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

Подправить задачку. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ CUDA C++ не понимаю ошибку! http://www.cyberforum.ru/cpp-beginners/thread422657.html
Есть код на C Считаем определитель. Подсчет определителя был реализован по методу Гаусса: приводим матрицу к треугольному виду и перемножаем диагональные элементы. : #include <stdio.h> #include <stdlib.h> #define SIZE 3 void matrix_rand (float array), matrix_view (float array,char *q);
C++ Найти количество отрицательных чисел среди заданных Я решил начать изучать С++ сейчас читаю учебник и не могу сделать упражнение: "Напишите программу,запрашивающую у пользователя несколько значений и отображающую сообщение о количестве отрицательных чисел среди них." Если можно то чуть обьясните. http://www.cyberforum.ru/cpp-beginners/thread422643.html
C++ Найти для каждого массива количество элементов, значение которых меньше среднего между минимальным...
• Для выполнения всех расчетов использовать несколько функций, каждая из которых выполняет отдельную задачу:  ввод данных;  печать массива;  вывод результатов;  нахождение промежуточных и конечных результатов • Тип функций, при возвращении промежуточных данных выбрать самостоятельно и обосновать. • Рассмотреть описание массива с помощью указателя. Варианты заданий Подразумевается,...
[C++] Хелп в чем ошибки C++
1) составить программу, котороя распечатывает значения функций 10*N,100*N и 1000*N, для N=1....10 с шагом изменения N равным 2. #include <iostream> use namespace std; int main() { for (int n = 1; n <= 10; n += 2) { cout << n * 10 << " " << n * 100 << " " << n * 1000 << "\n";
C++ Программа с массивами при использовании подпрограммы http://www.cyberforum.ru/cpp-beginners/thread422635.html
Написать программу в которой использована подпрограмма в виде функции для формирования и обработки массивов. Массивы должны быть описаны в основной программе. Формирование, вывод и обработка массивов выполняются в подпрограмме при вызове ее из главной программы. Заданы массивы C (12), D (25), E (20). Для каждого из массивов найти отношение максимального элемента к минимальному, а также –...
C++ Масштабирование Здравствуйте. Не могли бы вы подсказать реализацию/теорию(где почитать) про алгоритмы масштабирования? У меня есть монохромные матрицы из нулей-единиц, которые надо растянуть/уменьшить, привести к эталонной. Думаю, подойдут даже самые простейшие алгоритмы с большими искажениями. Спасибо. подробнее

Показать сообщение отдельно
Artole
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 5
05.01.2012, 03:36     Подправить задачку.
Помогите, пожалуйста, у меня есть условие задачи:
дана последовательность упорядоченных по возрастанию чисел а1...а15, и число n не равное ни одному из этих чисел, такое что а1<n<а15. найти элемент последовательности (его порядковый номер и значение) ближайший к n.
И решение:
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
46
47
48
49
50
#include <cstdlib>
#include <iostream>
 
#define m 15
using namespace std;
class base
{
 public:
        int n,arr[m],k,temp;
        base()
        {
        k=0;
        temp=1000;
        arr[0]=5;// первый элемент    
        }      
        void func()
        {
        cout<<arr[0]<<" ";
        for(int i=1;i<m;i++)
                {
                arr[i]=arr[i-1]+5;//заполняем массив по порядку с шагом 5
                cout<<arr[i]<<" ";
                }
        cout<<endl<<"n=";
        cin>>n;
        for(int i=1;i<m;i++)
                if((n==arr[i])||(n<arr[0])||(n>arr[m-1]))// проверка n
                {
                cout<<"nevernoe n"<<endl;
                break;  //не равное ни одному элементу, меньше последнего, больлше первого                                          
                }  
                else 
                for(int i=1;i<m;i++)
                {
                if (temp>abs(arr[i]-n));//abs модуль х
                   {
                   temp=abs(arr[i]-n);
                   k=i;                        
                   }     
                }   
        cout<<"n blizhe vsego k elementu "<<k+1<<", ravnomy "<<arr[k]<<endl;
        }
};
int main()
{
    base b;
    b.func();
    system("PAUSE");
    return EXIT_SUCCESS;
}
Но он выводит мне все время номер последнего, 15 элемента, какое число ты не введешь. Не могли бы вы подправить код как надо?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru