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

Соритрока массива - C++

Восстановить пароль Регистрация
 
Jack63
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 13
19.10.2010, 22:54     Соритрока массива #1
Здравствуйте! Помогите пожалуйста!
Нужно написать программу,в которой вводиться n элементный массив с клавиатуры,обрабатывается (делает так,чтобы сначала были положительные значения,а затем отрицательные) и выводится этот массив на экран. (массив статический)
Затем программа вводит 2-х мерный массив nXm с клавиатуры, преобразовывает его(меняет порядок элементов на обратный(построчно) ). n и m -константы. (массив динамический)
(способом int (*ar)=new int[5][10];
for(int i=0; i<5; i++)
for(int j=0; j<10; j++) )
все действия с массивами в виде процедур,язык c ++.

p.s:только начал изучать язык с ++ и не могу понять как написать. уже второй день сижу и не получается надеюсь на вашу помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2010, 22:54     Соритрока массива
Посмотрите здесь:

C++ В одномерном массиве, состоящем из n элементов массива, вычислить минимальный элемент массива
Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания C++
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ C++
C++ Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением)
C++ Создать два массива. Вычислить количество тех элементов каждого массива, для которых выполняется неравенство: 2<элемент массива<10
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
19.10.2010, 23:15     Соритрока массива #2
Кидайте, что пробовали, показывайте что и где не получается.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.10.2010, 23:38     Соритрока массива #3
Цитата Сообщение от Jack63 Посмотреть сообщение
Затем программа вводит 2-х мерный массив nXm с клавиатуры, преобразовывает его(меняет порядок элементов на обратный(построчно) ). n и m -константы. (массив динамический)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
...
void swap_array(int * arr, size_t size){
  int * head, * tail, tmp;
  for ( head = arr, tail = arr + size - 1; head < tail; ++head, --tail ){
    tmp = *head;
    *head = *tail;
    *tail = tmp;
  }
}
...
const int n(5);
const int m(10);
int ** matrix = new int * [ n ];
for ( int i = 0; i < n; ++i )
  matix[i] = new int [ m ];
// заполнить матрицу
for ( int i = 0; i < n; ++i )
  swap_array(matrix[i], m);
...
for ( int i = 0; i < n; ++i )
  delete [] matrix[i];
delete [] matrix;
...
Jack63
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 13
19.10.2010, 23:52  [ТС]     Соритрока массива #4
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
#include <iostream>
using namespace std;
 
 
int main()
{
    int n=0;
    cout<<"введите размер массива"; 
    cin>>n;
    int massiv[n];
    int t;
    for(t=0; t<10; ++t)
        {
            int z=0;
            cout<< "введите" <<t<< "элемент";
            cin>>z;
            massiv[t] = z;
        }
    for(int i=0; i<n; i++)
    {
        for(int j=n-1; j > i; j--)
        {
            if( massiv[i] < massiv[j] )
            {
               int temp=massiv[i];
               massiv[i]=massiv[j];
               massiv[j]=temp;
            }
        }
    }
}
У меня не получается задать размер массива с клавиатуры. Компилятор подчеркивает и пишет "Expression must have a constant value".
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.10.2010, 23:54     Соритрока массива #5
Jack63, Юзайте динамику.
C++
1
2
3
4
int n;
std::cin>>n;
int* Arr;
Arr=new int[n];
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.10.2010, 23:55     Соритрока массива #6
C++
1
2
3
4
int **arr;
arr=new int[n];
..........
delete [] arr;
Извините!!!
Jack63
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 13
19.10.2010, 23:55  [ТС]     Соритрока массива #7
Easybudda спасибо большое!!!
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
20.10.2010, 00:00     Соритрока массива #8
Jack63, статический массив можно определять с размером, известным на момент компиляции.
Создавать массивы, размер к-рых заранее неизвестен, нужно в динамической памяти (оператор new).
Jack63
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 13
20.10.2010, 00:15  [ТС]     Соритрока массива #9
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Jack63, статический массив можно определять с размером, известным на момент компиляции.
Создавать массивы, размер к-рых заранее неизвестен, нужно в динамической памяти (оператор new).
Спасибо,теперь разобрался. Преподаватель диктовал условие задачи для всех вариантов,а потом одну фразу изменял, ну видимо забыл сказать что не n,а константа. Вот я и мучался не понимая как делать....
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
20.10.2010, 00:19     Соритрока массива #10
Jack63, ну вообще-то логичнее было бы задавать размер статического массива константой, а размеры для матрицы запрашивать у пользователя... Точно ничего не перепутали, когда задание записывали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2010, 00:29     Соритрока массива
Еще ссылки по теме:

C++ ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами
Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива C++
C++ Найти среднее арифметическое элементов массива, сравнить два массива поэлементно

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

Или воспользуйтесь поиском по форуму:
Jack63
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 13
20.10.2010, 00:29  [ТС]     Соритрока массива #11
Цитата Сообщение от easybudda Посмотреть сообщение
Jack63, ну вообще-то логичнее было бы задавать размер статического массива константой, а размеры для матрицы запрашивать у пользователя... Точно ничего не перепутали, когда задание записывали?
Второе задание точно константы, я даже помню как препод это говорил
Yandex
Объявления
20.10.2010, 00:29     Соритрока массива
Ответ Создать тему
Опции темы

Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru