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

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

Войти
Регистрация
Восстановить пароль
 
t.kirill.90
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 3
#1

Одномерные массивы (практика) - C++

03.04.2011, 13:22. Просмотров 633. Ответов 10
Метки нет (Все метки)

Уважаемые программисты, помогите пожалуйста решить задачи изложенные ниже с использованием библиотеки "math".
Задание:
В одномерном массиве, состоящем из n-целых элементов, вычислить:
1. Кол-во нечетных элементов, стоящих на нечетных местах в массиве;
2. Поменять местами первую и вторую половину массива(расположение элементов в каждой половине массива оставить в исходном порядке).
Заранее спасибо большое за помощь.

З.Ы.: В С++ Шарю очень плохо; если можно, напишите полностью программу от начала до конца.
З.З.Ы: Очень срочно!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2011, 13:22     Одномерные массивы (практика)
Посмотрите здесь:

Практика\двумерные массивы - C++
Дана матрица A(n,n). Преобразовать матрицу по следующему правилу: строку с номером n сделать столбцом с номером n, а столбец с номером n -...

Одномерные массивы - C++
Задан массив, содержащий несколько нулевых элементов. Сжать его, выбросив эти элементы

одномерные массивы - C++
Помогите, пожалуйста, сделать задание, ну хотя бы намекните! В одномерном массиве, который состоит из n действительных чисел, найти сумму...

Одномерные массивы - C++
Помогите с заданием: Добавить N элементов, начиная с номера К.

Одномерные массивы С++ - C++
Помогите пожалуйста написать программку! Заполнение динамического целочисленного массива длинной N. Отсортировать массив по...

Одномерные массивы! - C++
решите пожалуйста задачу.... вот условие: в одномерном массиве, состоящем из n вещественных элементов, вычислить: количество элементов...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
romanriddick
36 / 36 / 4
Регистрация: 06.07.2010
Сообщений: 154
03.04.2011, 13:33     Одномерные массивы (практика) #2
1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include "conio.h"
int main()
{
   int n,j;
   int *x;
   cout<<"n= ";
   cin >> n;
   j=0;
   x = new int [n];
        for (int i=1 ; i<=n;i++)
        {   cout<<"x"<<i<<"="<<endl;
                cin>>x[i];
                if ((i%2!=0) && (x[i]%2!=0))
                        j++;
 
      }
     cout<<j;
     getch();
    
}
vitaska
84 / 84 / 2
Регистрация: 04.02.2010
Сообщений: 162
03.04.2011, 14:25     Одномерные массивы (практика) #3
to romanriddick

1) если вы уж выделяете память под массив динамически, то необходимо ее очищать через delete [] x
2) индексация массивов начинается с 0 а не c 1

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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main()
{
    int arrSize, count = 0;
    cout << "Input size of array: ";
    cin >> arrSize;
    int * arr = new int [ arrSize ];
    for (int i = 0 ; i < arrSize; i++ ) {
        arr[ i ] = rand() % 10;
        cout << "arr[ " << i << " ] = " << arr[ i ] << endl;
        if ( ( i % 2 ) && ( arr[ i ] % 2 ) )
            count++;
    }
    cout << count << " elements of array is not even\n\n";
    delete [] arr;
    cin.ignore( 1 );
    cin.get();
}
romanriddick
36 / 36 / 4
Регистрация: 06.07.2010
Сообщений: 154
03.04.2011, 14:38     Одномерные массивы (практика) #4
Цитата Сообщение от vitaska Посмотреть сообщение
1) если вы уж выделяете память под массив динамически, то необходимо ее очищать через delete [] x
она сама очиститса при выходе (ето ведь не длинная прога где нужно смотреть за памяттю)...
но спасибо , забыл


Цитата Сообщение от vitaska Посмотреть сообщение
2) индексация массивов начинается с 0 а не c 1
знаю...а 0 -- ето четный индекс или нет ???))))))))



у вас выделяетса н+1 памяти , а нужно то н... индексацию всеже с еденички нужно делать
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.04.2011, 14:40     Одномерные массивы (практика) #5
Цитата Сообщение от romanriddick Посмотреть сообщение
она сама очиститса при выходе
Ошибаетесь, в С++ нет автоматического зборщика мусора.
vitaska
84 / 84 / 2
Регистрация: 04.02.2010
Сообщений: 162
03.04.2011, 14:50     Одномерные массивы (практика) #6
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main()
{
    srand( ( unsigned ) time ( NULL ) );
    int arrSize, count = 0, tmp;
    cout << "Input size of array: ";
    cin >> arrSize;
    int * arr = new int [ arrSize ];
    for (int i = 0 ; i < arrSize; i++ ) {
        arr[ i ] = rand() % 10;
        cout << "arr[ " << i << " ] = " << arr[ i ] << endl;
    }
 
    int middle = arrSize / 2;
 
    if ( arrSize % 2 ) {
        for ( int i = 0; i < middle; i++ ) {
            tmp = arr[ i ];
            arr[ i ] = arr[ middle + i + 1 ];
            arr[ middle + i + 1 ] = tmp;        
        }
    } 
    else {
        for ( int i = 0; i < middle; i++ ) {
            tmp = arr[ i ];
            arr[ i ] = arr[ middle + i ];
            arr[ middle + i ] = tmp;        
        }       
    }
    cout << "Array: ";
    for (int i = 0 ; i < arrSize; i++ ) {
        cout << arr[ i ] << " ";
    }
    cout << endl << endl;
    delete [] arr;
    cin.ignore( 1 );
    cin.get();
}
Добавлено через 5 минут
Цитата Сообщение от romanriddick Посмотреть сообщение
у вас выделяетса н+1 памяти , а нужно то н...
с чего вы взяли что n+1, памяти выделяется ровно под n элементов, поскольку индексация массива начинается с 0 и заканчивается arrSize-1, то есть последний элемент массива имеет индекс [arrSize-1].
Советую вам еще раз освежить знания по массивам.
romanriddick
36 / 36 / 4
Регистрация: 06.07.2010
Сообщений: 154
03.04.2011, 14:58     Одномерные массивы (практика) #7
Цитата Сообщение от vitaska Посмотреть сообщение
i < arrSize
да , ладно вы победили)))) знак недосмотрел ... думал <= поставили

но всеже так и не услышал 0 ето четное или нет ???))))
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.04.2011, 15:04     Одномерные массивы (практика) #8
Цитата Сообщение от romanriddick Посмотреть сообщение
но всеже так и не услышал 0 ето четное или нет ???))))
http://ru.wikipedia.org/wiki/%D0%A7%...81%D0%BB%D0%B0
vitaska
84 / 84 / 2
Регистрация: 04.02.2010
Сообщений: 162
03.04.2011, 15:25     Одномерные массивы (практика) #9
Цитата Сообщение от romanriddick Посмотреть сообщение
но всеже так и не услышал 0 ето четное или нет ???))))
если плясать от "человеческого счета" то в первом задании строку 16 просто заменить с
C++
1
if ( ( i % 2 ) && ( arr[ i ] % 2 ) )
на
C++
1
if ( !( i % 2 ) && ( arr[ i ] % 2 ) )
и все.
Я просто ошибся и четность проверял индексов массива, а нужно так как представляет человек.

А вообще 0 это четное число!
romanriddick
36 / 36 / 4
Регистрация: 06.07.2010
Сообщений: 154
03.04.2011, 15:29     Одномерные массивы (практика) #10
Цитата Сообщение от vitaska Посмотреть сообщение
а вообще 0 это четное число!
да , спасибо ... извиняюсь , забыл ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2011, 20:44     Одномерные массивы (практика)
Еще ссылки по теме:

Одномерные массивы - C++
Задать 2 вектора A(n) и B(m). Выполнить такие задания: -найти вектора C, D и E из элементов векторов A и B так, чтобы в С находились...

Одномерные массивы - C++
Помогите решить задачи: 1) В массиве T(k) найти номера первого и последнего нулевых элементов. 2) Дан двумерный массив размерностью 5...

Одномерные массивы - C++
Очень прошу помочь составить код (или направить мысли в правильное русло). Необходимо решить следующую поставленную задачу: В одномерном...

C++ Одномерные массивы - C++
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: - сумму отрицательных элементов массива; - произведение...

одномерные массивы - C++
в одномерном массиве, состоящем из n вещественных элементов, вычислить произведение элементов массива, расположенных между максимальным и...


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

Или воспользуйтесь поиском по форуму:
t.kirill.90
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 3
03.04.2011, 20:44  [ТС]     Одномерные массивы (практика) #11
Спасибо большое всем Мастерам кто откликнулся на просьбу о помощи!
Yandex
Объявления
03.04.2011, 20:44     Одномерные массивы (практика)
Ответ Создать тему
Опции темы

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