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

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

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

Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив - C++

13.06.2013, 14:22. Просмотров 959. Ответов 6
Метки нет (Все метки)

Условие: дано массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив. У меня массив есть, нужна помощь со вставкой 0 перед элементами и перезапись. Вот кусок программы :
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
#include <iostream>
#include <conio.h>
#include <ctime> // в ней функция time
#include <windows.h>
char bufUA[256];
char* UA(const char* text) {
      CharToOem(text, bufUA);
      return bufUA;
      }
using namespace std;
int main()
{
    srand(time(NULL)); // Инициализируем генератор случайных чисел.
    int n = 0;
    cout << "Vvedite razmenost' massiva"<<endl;
    cin >> n; // Считываем с клавиатуры n
    int **a = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; // Создаем элементы
    }
    // А дальше работа как с обычным массивом. 
    cout << "Massiv"; // Вывести элементы на консольку
    for (int i = 0; i < n; i++)
    {
        cout<<endl;
 
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
            cout << a[i][j] << " "; // Вывести элементы на консольку
        }
        cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли
    }
 
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 14:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив (C++):

Перед каждым положительным значением массива вставить элемент с нулевым значением - C++
Дан массив размера N. Перед каждым положительным значением массива вставить элемент с нулевым значением.

Перед каждым положительным элемент массива вставить элемент с нулевым значением - C++
6)Дан массив размера N. Перед каждым положительным элемент массива вставить элемент с нулевым значением.

Перед каждым положительным элементом массива вставить нулевой элемент - C++
Задан вещественный массив размера N. Перед каждым положительным элементом массива вставить нулевой элемент. Под удалением элементов из...

Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением - C++
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым...

Функция, которая вставляет перед каждым отрицательным элементом элемент с нулевым значением - C++
Есть двумерный динамический массив (матрица). Нужно написать функцию, которая вставляет перед каждым отрицательным элементом элемент с...

Добавить перед каждым четным элементом массива элемент со значением 0 - C++
1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать полученный массив. 3) Удалить все...

6
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
13.06.2013, 14:26 #2
Цитата Сообщение от Kokocikful Посмотреть сообщение
char bufUA[256];
char* UA(const char* text) {
* * * CharToOem(text, bufUA);
* * * return bufUA;
* * * }
а это тебе зачем?
1
Kokocikful
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 14:32  [ТС] #3
Украинские буквы
0
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
13.06.2013, 14:51 #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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <conio.h>
#include <ctime> // в ней функция time
 
 
using namespace std;
int main()
{
    srand(time(NULL)); // Инициализируем генератор случайных чисел.
    int n = 0;
    cout << "Vvedite razmenost' massiva"<<endl;
    cin >> n; // Считываем с клавиатуры n
    int **a = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; // Создаем элементы
    }
    // А дальше работа как с обычным массивом. 
    cout << "Massiv"; cout << "\n";// Вывести элементы на консольку
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
            cout << a[i][j] << " "; // Вывести элементы на консольку
        }
        cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли
    }
 cout <<"\n\n";
 cout << "Answer = \n";
   for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << a[i][j]<< " ";
            if (a[i][j]>0) cout << "0 ";
        }
        cout << endl; 
    }
    getch();
    return 0;
}
Добавлено через 9 минут
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
#include <iostream>
#include <conio.h>
#include <ctime> // в ней функция time
using namespace std;
int main()
{
    srand(time(NULL)); // Инициализируем генератор случайных чисел.
    int n = 0;
    cout << "Vvedite razmenost' massiva"<<endl;
    cin >> n; // Считываем с клавиатуры n
    int **a = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; // Создаем элементы
    }
    // А дальше работа как с обычным массивом. 
    cout << "Massiv"; cout << "\n";// Вывести элементы на консольку
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
            cout << a[i][j] << " "; // Вывести элементы на консольку
        }
        cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли
    }
    int **mas = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        mas[i] = new int [n]; // Создаем элементы
    }
    // А дальше работа как с обычным массивом. 
 cout <<"\n\n";
 cout << "Answer = \n";
   for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (a[i][j]>0) {cout << "0 ";
            cout << a[i][j]<< " ";
        }
        cout << endl; 
    }
 
    getch();
    return 0;
}
Добавлено через 53 секунды
1 вариан - после цыфр вставка 0
2 вариан - перед цыфрой вставка 0

Добавлено через 1 минуту
Цитата Сообщение от newyork7776 Посмотреть сообщение
а что записивать в остальние ячейки?
Ответ пожалуста
1
Kokocikful
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 20:00  [ТС] #5
Ничего, просто в другой массив переместить числа уже с нулями перед ними(где нужно)
0
Kokocikful
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 20:24  [ТС] #6
Цитата Сообщение от newyork7776 Посмотреть сообщение
ответом может быть и не матрица а просто цыфри.Так как может быть с строке все елементы + а некоторый -
а что записивать в остальние ячейки?
Ответ пожалуста
Привет еще раз, 1 вариант рабочий, а во втором не перед каждым элементом ставить 0., только первую строку обрабатывает, до второй не доходит
Вот скрин работы прогограммы :
0
Миниатюры
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив  
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
14.06.2013, 00:34 #7
У меня вот нормально
0
Миниатюры
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив  
14.06.2013, 00:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 00:34
Привет! Вот еще темы с ответами:

Вставить перед каждой серией массива элемент с нулевым значением. - C++
Дан целочисленный массив размера N. Вставить перед каждой его серией элемент с нулевым значением. Назовем серией группу подряд идущих...

Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) - C++
Помогите выполнить задание: Тип информационной части узла списка - INT Вид списка - Однонаправленный связанный список ...

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

Удалить элементы с заданным значением, добавить перед каждым четным элементом 0 - C++
Здраствуйте, форумчане!!! у меня такая вот задача: 1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел....


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

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

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