Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tostuk
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 12
#1

Одномерный массив. Сдвинуть элементы циклически на n позиций влево - C++

14.01.2013, 20:06. Просмотров 912. Ответов 4
Метки нет (Все метки)

Ввести одномерный статический массив из k чисел. Сдвинуть элементы массива циклически на 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
#include <iostream>
#include <conio.h>
#include <iomanip>
int main()
 
const int MAX_DIMENSION = 10;
    int i, j, n, def;
    double a[MAX_DIMENSION], temp, savedElement;
 
    do {
        cout << "Vvedite razmer (maximum = " << MAX_DIMENSION << "): "; // ¬вод одномерного массива
    
        cin >> n;
    } while (n > MAX_DIMENSION);
 
    for (i=0; i<n; i++) {
        cout << "Vvedite a[" << i << "]= " ;
        cin >> a[i];
    }
 
    cout << "Massiv a:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    }
 
    cout << endl << "Vvedite veli4inu sdviga: ";
    cin >> def;
 
    //processing array
    for (j = 0; j < def; j++) {
        for (i = 0; i < n - 1; i++) {
            if (i == 0) {
                savedElement = a[i];
            }
            a[i] = a[i + 1];
        }
 
        a[n-1] = savedElement;
    }
 
    cout << "Massiv a posle sdviga:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    }
Программа не моя, но очень нуждаюсь в ее работоспособности.

ругается
--------------------Configuration: laba4 - Win32 Debug--------------------
Compiling...
laba4.cpp
D:\laba4\laba4.cpp(6) : warning C4518: 'int ' : storage-class or type specifier(s) unexpected here; ignored
D:\laba4\laba4.cpp(6) : error C2146: syntax error : missing ';' before identifier 'MAX_DIMENSION'
D:\laba4\laba4.cpp(6) : error C2270: 'main' : modifiers not allowed on nonmember functions
D:\laba4\laba4.cpp(6) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

laba4.obj - 3 error(s), 1 warning(s)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 20:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив. Сдвинуть элементы циклически на n позиций влево (C++):

Одномерный массив, Сдвинуть элементы массива циклически на n позиций вправо - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { int a,...

Элементы массива циклически сдвинуть на k позиций влево - C++
Помогите пожалуйста написать программу!!!понимаю что все должно быть оч легко, но... В С++: 1. Дан массив, состоящий из символов....

Все элементы массива X(30) циклически сдвинуть на n позиций влево - C++
Все элементы массива X(30) циклически сдвинуть на n позиций влево при помощи указателей

Сдвинуть все элементы последовательности циклически на k позиций влево - C++
1. Дано целое число. Если число отрицательное, то необходимо вывести все четные числа, начиная со введенного до -2. Если число...

Сдвинуть циклически элементы одномерного массива на k позиций влево - C++
Тема и есть условие задачи... Сам же я застопорился на написании алгоритма сдвига :- #include &lt;iostream.h&gt; #include &lt;math.h&gt; int...

Задан массив из k чисел. Сдвинуть элементы массива циклически на n позиций вправо - C++
помогите исправить..не сдвигает а местами меняет(( Задан массив из k чисел. Сдвинуть элементы массива циклически на n позиций вправо. ...

4
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
14.01.2013, 20:13 #2
Поправил
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
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
int main() 
{
 
const int MAX_DIMENSION = 10;
    int i, j, n, def;
    double a[MAX_DIMENSION], temp, savedElement;
 
    do {
        cout << "Vvedite razmer (maximum = " << MAX_DIMENSION << "): "; // ¬вод одномерного массива
    
        cin >> n;
    } while (n > MAX_DIMENSION);
 
    for (i=0; i<n; i++) {
        cout << "Vvedite a[" << i << "]= " ;
        cin >> a[i];
    }
 
    cout << "Massiv a:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    }
 
    cout << endl << "Vvedite veli4inu sdviga: ";
    cin >> def;
 
    //processing array
    for (j = 0; j < def; j++) {
        for (i = 0; i < n - 1; i++) {
            if (i == 0) {
                savedElement = a[i];
            }
            a[i] = a[i + 1];
        }
 
        a[n-1] = savedElement;
    }
 
    cout << "Massiv a posle sdviga:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    } 
}
1
Tostuk
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 12
14.01.2013, 20:15  [ТС] #3
Цитата Сообщение от David Sylva Посмотреть сообщение
Поправил
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
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
int main() 
{
 
const int MAX_DIMENSION = 10;
    int i, j, n, def;
    double a[MAX_DIMENSION], temp, savedElement;
 
    do {
        cout << "Vvedite razmer (maximum = " << MAX_DIMENSION << "): "; // ¬вод одномерного массива
    
        cin >> n;
    } while (n > MAX_DIMENSION);
 
    for (i=0; i<n; i++) {
        cout << "Vvedite a[" << i << "]= " ;
        cin >> a[i];
    }
 
    cout << "Massiv a:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    }
 
    cout << endl << "Vvedite veli4inu sdviga: ";
    cin >> def;
 
    //processing array
    for (j = 0; j < def; j++) {
        for (i = 0; i < n - 1; i++) {
            if (i == 0) {
                savedElement = a[i];
            }
            a[i] = a[i + 1];
        }
 
        a[n-1] = savedElement;
    }
 
    cout << "Massiv a posle sdviga:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    } 
}
Все равно ругается
--------------------Configuration: laba4 - Win32 Debug--------------------
Compiling...
laba4.cpp
D:\laba4\laba4.cpp(49) : warning C4508: 'main' : function should return a value; 'void' return type assumed
D:\laba4\laba4.cpp(10) : warning C4101: 'temp' : unreferenced local variable

laba4.obj - 0 error(s), 2 warning(s)
0
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
14.01.2013, 20:18 #4
Это не ошибки, а предупреждения, программа будет работать с ними.

Добавлено через 1 минуту
Вот так без предупреждений
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 <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
int main() 
{
 
const int MAX_DIMENSION = 10;
    int i, j, n, def;
    double a[MAX_DIMENSION], savedElement;
 
    do {
        cout << "Vvedite razmer (maximum = " << MAX_DIMENSION << "): "; // ¬вод одномерного массива
    
        cin >> n;
    } while (n > MAX_DIMENSION);
 
    for (i=0; i<n; i++) {
        cout << "Vvedite a[" << i << "]= " ;
        cin >> a[i];
    }
 
    cout << "Massiv a:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    }
 
    cout << endl << "Vvedite veli4inu sdviga: ";
    cin >> def;
 
    //processing array
    for (j = 0; j < def; j++) {
        for (i = 0; i < n - 1; i++) {
            if (i == 0) {
                savedElement = a[i];
            }
            a[i] = a[i + 1];
        }
 
        a[n-1] = savedElement;
    }
 
    cout << "Massiv a posle sdviga:" << endl; // ¬ывод одномерного массива
 
    for (i=0; i<n; i++) {
        cout << a[i] << " " ;
    }  
    return 0;
}
1
Tostuk
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 12
17.01.2013, 03:14  [ТС] #5
Еще вопрос, вот есть условие создать одномерный массив, подсчитать сумму всех елементов стоящих между первым и вторым отрицательным числом массива.
Сделал так, что первое и второе число он уже находит, осталось как-то все элементы между ними сложить
подскажите, как сложить элементы массива от позиции "poz" до позиции "pozz" (poz/pozz обозначения используемые у меня в коде, обозначают номер элемента массива до/перед отрицательным числом)

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
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
int main()
{
    int i,n,s,pol,poz,poll,pozz,sum;
    int a[10];
    cout <<"vvedite n:"<<endl;
    cin>>n;
    
    for (i=0;i<n;i++)
    { 
        cout<<"vvvedite a["<<i<<"]=";
    cin>>a[i];
    } //Vvod odnomernogo massiva
        cout << "massiv a="<<endl;
            for (i=0;i<n;i++)
                cout <<a[i]<<" ";
            cout <<endl;
            s=0;
            for (i=0;i<n;i++)
                //vi4eslenie pervogo otricatel'nogo
            {
                if(a[i]<0)  { pol=a[i];poz=i;break;}
        
            
    
            }
    cout <<"pervoe otricatel'noe 4islo="<<pol<<endl;
 
    
    
    for (i=poz+1;i<=n;i++)
        //vtoroe otricatel'noe 4islo
            {
                if(a[i]<0)  { poll=a[i];pozz=i;break;}
    
            }   
    cout <<"vtoroe otricatel'noe 4islo="<<poll<<endl;
        
 
    for (i=poz+1;i<pozz;i++)
    {
        sum=a[i];
    }
    cout <<"summa="<<sum<<endl;
            return 0;
}
0
17.01.2013, 03:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 03:14
Привет! Вот еще темы с ответами:

Написать функцию, которая циклически сдвигает одномерный массив вправо или влево на указанное число позиций - C++
Написать функцию, которая циклически сдвигает одномерный массив вправо или влево на указанное число позиций. Сдвиг также должен быть...

Преобразовать массив целых чисел Х по следующему правилу: элементы массива Х циклически сдвинуть на k позиций - C++
Мужики, нужна программа, вот условие &quot;Преобразовать массив целых чисел Х по следующему правилу: элементы массива Х циклически сдвинуть на...

Сформировать массив десятичных цифр числа А. Элементы массива цифр сдвинуть циклически влево на 1 позицию - C++
дано целое десятичное число А. Сформировать массив десятичных цифр числа А. Элементы массива цифр сдвинуть циклически влево на 1 позицию ....

Сдвинуть элементы массива циклически на n позиций вправо. - C++
спасибо


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

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

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