Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Kokocikful
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 24
#1

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

13.06.2013, 14:22. Просмотров 1097. Ответов 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++):

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

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

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

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

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

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

6
newyork7776
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 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 / 1
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 14:32  [ТС] #3
Украинские буквы
0
newyork7776
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 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 / 1
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 20:00  [ТС] #5
Ничего, просто в другой массив переместить числа уже с нулями перед ними(где нужно)
0
Kokocikful
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 20:24  [ТС] #6
Цитата Сообщение от newyork7776 Посмотреть сообщение
ответом может быть и не матрица а просто цыфри.Так как может быть с строке все елементы + а некоторый -
а что записивать в остальние ячейки?
Ответ пожалуста
Привет еще раз, 1 вариант рабочий, а во втором не перед каждым элементом ставить 0., только первую строку обрабатывает, до второй не доходит
Вот скрин работы прогограммы :
0
Миниатюры
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив  
newyork7776
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 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
Привет! Вот еще темы с решениями:

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

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

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

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


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

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

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