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

В неубывающей последовательности целых чисел найти количество пар чисел с заданной разностью "D" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задание на строки и символы http://www.cyberforum.ru/cpp-beginners/thread606566.html
Выполнить надо на С++ Дана строка символов. Напечатать слова, которые начинаются и заканчиваются одной и той же буквой
C++ Функция fread и матрицы Подскажите, как правильно исп. эту ф-ию для считывания информации из файла в матрицу. Есть маленькая программка, которая никак не хочет работать верно. В чём ошибка, не пойму. Вот код: #include<iostream> using namespace std; int main() { FILE *fb; int a; int i,j,n; if((fb=fopen("file.dat","rb"))==NULL) http://www.cyberforum.ru/cpp-beginners/thread606540.html
Динамическая матрица. вставка столбца C++
не получается вставка. задание таково, что после столбцов, не содержащих отрицательные элементы нужно вставить 2 столбец. вылетаю на строке t=stroka с ошибкой Access violation writing location 0xcdcdcdcd. void Vstavka_stolbca(int **&q,int *stroka,int n,int m,int Number) { int i,j=0; int **t=new int *; for(i=0;i<m;i++) t=new int ; if (Number==0) {
C++ Изменить расширение файла
имя файла заранее не известно
C++ Ограничение char http://www.cyberforum.ru/cpp-beginners/thread606479.html
var c:char; if c in then begin ... end; Как сделать в с++?
C++ Если в строке есть элемент, равный среднему арифметическому элементов этой строки, то вставьте после него строку, состоящую из этих элементов Я нахожу среднее ариф., элемент равный среднему арифметическому, но не пойму как вставить строку из этих элементов..то есть нужно вставлять все те же самые элементы? вот что я написала int Srednee_arif (int **A,int N, int M)// ищет среднее арифметическое каждой строки {int i,j; int sum = 0; for (int i=0; i<N; i++) sum=0; { for (int j=0; j<M; j++) { ... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.06.2012, 11:53     В неубывающей последовательности целых чисел найти количество пар чисел с заданной разностью "D"
пробуйте:
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
73
#include <iostream>
#include <vector>
using namespace std;
typedef vector<double> MyVector;
MyVector vec;
 
int f(int a, int b, int t)
{
    if(b-a<2)
    {
        if(vec[a]==t)
            return a;
        if(vec[b]==t)
            return b;
        return -1;
    }
    int tmp=(b+a)/2;
    if(vec[tmp]>t)
        return f(a,tmp,t);
    else
        return f(tmp,b,t);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    FILE *pFile1 = fopen("input.txt", "r");
    FILE *pFile2 = fopen("output.txt", "w");
    int ch;
    if (!pFile1)
    {
        printf("File opening error\n");
        return 1;
    }
    else
    {
        int n, d, x, t, ind, j;
        int counter = 0;
        fscanf(pFile1, "%d", &n);
        fscanf(pFile1, "%d", &d);
        for (int i = 0; i <n; i++)
        {
            fscanf(pFile1, "%d", &x);
            vec.push_back(x);
        }
        for (int i = 0; i < vec.size()-1; i++)
        {   
            t=vec[i]+d;
            if(t>vec[n-1])
                break;
            ind=f(i+1,n-1, t);
            if(ind!=-1)
            {
                counter++;
                j=ind+1;
                while(j<n && vec[j]==t)
                {
                    j++; counter++;
                }
                j=ind-1;
                while(vec[j]==t)
                {
                    j--; counter++;
                }
            }
            
        }
        fprintf(pFile2, "%d", counter);
    }
    fclose(pFile1);
    fclose(pFile2);
    return 0;
}
 
Текущее время: 14:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru