0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
1

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

13.06.2013, 14:22. Показов 2251. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 14:22
Ответы с готовыми решениями:

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

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

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

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

6
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
13.06.2013, 14:26 2
Цитата Сообщение от Kokocikful Посмотреть сообщение
char bufUA[256];
char* UA(const char* text) {
* * * CharToOem(text, bufUA);
* * * return bufUA;
* * * }
а это тебе зачем?
1
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 14:32  [ТС] 3
Украинские буквы
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
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
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 20:00  [ТС] 5
Ничего, просто в другой массив переместить числа уже с нулями перед ними(где нужно)
0
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
13.06.2013, 20:24  [ТС] 6
Цитата Сообщение от newyork7776 Посмотреть сообщение
ответом может быть и не матрица а просто цыфри.Так как может быть с строке все елементы + а некоторый -
а что записивать в остальние ячейки?
Ответ пожалуста
Привет еще раз, 1 вариант рабочий, а во втором не перед каждым элементом ставить 0., только первую строку обрабатывает, до второй не доходит
Вот скрин работы прогограммы :
Миниатюры
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив  
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
14.06.2013, 00:34 7
У меня вот нормально
Миниатюры
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив  
0
14.06.2013, 00:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2013, 00:34
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru