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

Последовательность чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти название предприятия, заплатившего меньше всего налогов http://www.cyberforum.ru/cpp-beginners/thread455107.html
Добрый день, Вот задание: 1. Добавлять данные структуры с указанными полями в файл 2. Просматривать структуры из файла 3. Функции программы сделать в виде меню 4. Поля записи: код предприятия, название, сумма уплаченных налогов. Операция: найти название предприятия, заплатившего меньше всего налогов. Вот отдельно написал работу с файлом: struct Firm { char code;
C++ Сложность в реализации команды Программа открывает окно, заголовком которого является командная строка. Обеспечить возможность перетаскивания окна за любую точку его содержимого. http://www.cyberforum.ru/cpp-beginners/thread455095.html
C++ Вывод в файл на русском языке
Добрый день!!! Ребят, проконсультируйте, пожалуйста) Программа, которая записывает текст в файл до тех пор, пока не введена пустая строка. Собственно говоря, как сделать так, чтобы вывод в файл, если я ввожу строку на русском языке, выполнялся корректно. Т.е. строка "русский язык" отображается в файле как "агббЄЁ© п§лЄ" .На английском все нормально) И еще один вопрос: файл не открывается,...
C++ Описание функции ltoa
ltoa ( string,10) Это превращение из инт в чар. Что значит параметр 10?
C++ вывести на экран все строки файла содержащие двузначные числа http://www.cyberforum.ru/cpp-beginners/thread455071.html
Задание: вывести на экран все строки файла содержащие двузначные числа мой код: #include <iostream.h> #include <stdio.h> #include <ctype.h> #include <string.h>
C++ Написать функцию PrnStruct() с одним параметром типа TMyStruct, выводящую на печать значения полей структуры. Разработать тип данных TMyStruct– структуру, содержащую поля различных типов. В функции main() описать переменную данного типа TMyStruct, присвоить полям данной структуры значения с помощью оперции присваивания. Написать функцию PrnStruct() с одним параметром типа TMyStruct, выводящую на печать значения полей структуры. Обратиться к данной функции из функции main(), чтобы увидеть на экране... подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
01.03.2012, 00:28     Последовательность чисел
Задачу понял так :
1) Заполнить последовательность с определ.шагом.
2)Сгенерировать число в пределах значений последовательности .
3) Найти в этой последовательности "правого и левого соседа "
для числа .
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <time.h>
 
#define BEG -350   //  НАЧАЛО ПОСЛЕДОВАТЕЛЬНОСТИ
#define STEP 77   //   ШАГ
#define N 10   //  ЧИСЛО ЭЛЕМЕНТОВ 
 
//////////////////////////////////////////////////////////////////////////////////
// ПОСЛЕДОВАТЕЛЬНО ЗАПОЛНЯЕМ МАССИВ  С ШАГОМ STEP
void Set(int *arr){
    
    int i ;
    int k = BEG - STEP; // ПЕРВОЕ ЗНАЧЕНИЕ  k = arr[0]
 
    for( i = 0; i < N; i ++,k += STEP){
 
                        arr[i] = k ; 
 
               // ВЫВОДИМ НА ЭКРАН 
 
        std::cout << arr[i] << " "  ;
    }
}
/////////////////////////////////////////////////////////////////////////
//          ИЩЕМ ПРАВОГО И ЛЕВОГО СОСЕДА НАШЕГО ЧИСЛА 
 
void Left_right(int *arr,int val){
 
    int left = 0;
        int right = 0;
 
    //ОПРЕДЕЛЯЕМ ГРАНИЦЫ  : СЧИТАЕМ СО ВТОРОГО ЭЛЕМЕНТА ДО ПРЕДПОСЛЕДНЕГО
    for(int i = 1; i < N - 1; i ++){
 
                if(arr[i] >= val && arr[i - 1] <= val){
 
                            left = arr[i - 1]; 
 
                             right = arr[i];}
 
    }   //                 ВЫВЕСТИ  НА ЭКРАН
std::cout << "\nLEFT element   " << left << "\tRight element   " << right << "\n\n";
}
 
int main()
{
    srand (time(NULL));
      int arr[N];
 
            // ВЫЗОВ ФУНКЦИИ - ЗАПОЛНЯЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ
      std::cout <<  "\n";
    Set(arr);
 
    /////////////////////////////////////////////////////////////////////////////////
 
             // ГЕНЕРИРУЕМ НАШЕ ЧИСЛО  ОТ 1 ДО ЗНАЧЕНИЯ ПОСЛЕДНЕГО ЭЛЕМЕНТА
    int val = 1 + rand()% (arr[N - 1]) ; 
 
           //  ГЕНЕРИРУЕМ ЗНАК  ЧИСЛА
    int sign = rand() % 2; 
 
         // ЕСЛИ sign НЕ РАВЕН НОЛЬ   УМНОЖИТЬ ЧИСЛО НА -1
    if(sign) val *= -1;      
 
          // ВЫВЕСТИ ЧИСЛО НА ЭКРАН
    std::cout << "\n\nValue   " << val << "\n";
 
        // ВЫЗОВ ФУНКЦИИ ПОИСК СОСЕДНИХ ЭЛ - ТОВ 
 
    Left_right(arr,val);
    
    system("pause");}
Добавлено через 1 час 41 минуту
Потестировал. Не совсем корректно работает программа. Если менять

кол-во элементов последовательности .

Код где где генерируется случ.число нужно сменить

(строки 58 - 68)

сменить на
C++
1
2
3
4
5
             // ГЕНЕРИРУЕМ НАШЕ ЧИСЛО  ОТ 1 ДО ЗНАЧЕНИЯ ПОСЛЕДНЕГО ЭЛЕМЕНТА
    int val = 1 +  arr[0] + rand()% arr[N - 1] ; 
 
         // ВЫВЕСТИ ЧИСЛО НА ЭКРАН
    std::cout << "\n\nValue   " << val << "\n";
 
Текущее время: 15:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru