Форум программистов, компьютерный форум 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++ Масштабирование Здравствуйте. Не могли бы вы подсказать реализацию/теорию(где почитать) про алгоритмы масштабирования? У меня есть монохромные матрицы из нулей-единиц, которые надо растянуть/уменьшить, привести к эталонной. Думаю, подойдут даже самые простейшие алгоритмы с большими искажениями. Спасибо. подробнее

Показать сообщение отдельно
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
05.01.2012, 15:51     Подправить задачку.
Задача показалась интересной и я написал свой вариант решения
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define SIZE 15
 
int main()
{
    int a[SIZE]={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29};
    int *ptr=a;
    int x=10;
    if (x>=a[SIZE-1] || x<=a[0])//по предусловию
     return 1;
 
    for (int i=0;(i<SIZE-1) && (*ptr<x);i++,ptr++);
    int *temp=(ptr-1);
    if ((x-*temp)<*ptr-x)
     cout<<*temp;
    else
     cout<<*ptr;
}
Если число находиться по середине то отдаётся предпочтение большему элементу, проверку на то что число != ни одному элементу массива не делаю так как это постусловие как-бы да и если число будет равно какому-нибудь элементу массива то этот же элемент и выведется как самое близкое.

Добавлено через 2 минуты
От temp правда можно избавиться
C++
1
2
3
4
    if ((x-*(ptr-1))<*ptr-x)
     cout<<*(ptr-1);
    else
     cout<<*ptr;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru