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

Разделение одномерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический массив http://www.cyberforum.ru/cpp-beginners/thread887690.html
Доброе время суток) Я почти полный нуб :sorry: , поэтому сразу прошу прощения :sorry: Я хочу создать такой массив, размер которого увеличивается с каждым полученным значением. Вот такой код, который...
C++ Преобразовать односвязный список в матрицу Как преобразовать односвязный список в матрицу? http://www.cyberforum.ru/cpp-beginners/thread887687.html
C++ Вывод строки из текстового файла
Написать функцию, удовлетворяющую следующим требованиям: Прототип: int f(char*a, int n) Параметры: а - указатель исходного массива, n - размер исходного массива. Назначение: Чтение строки из...
C++ Класс Triangle
Помогите подправить код. Вот задание: создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей...
C++ Реализовать граф через шаблоны http://www.cyberforum.ru/cpp-beginners/thread887666.html
Нужно реализовать граф через шаблоны: Граф (2 класса: узел графа, граф находятся в отношении агрегации) Конструкторы: по умолчанию, с параметрами . Деструктор. Функции (две-три на выбор):...
C++ Исправить ошибки. Написать функцию, удовлетворяющую следующим требованиям: Помогите пожалуйста!!!! Написал программу, но она не работает. Помогите пожалуйста исправить ошибку!!! Возможно неправильно написал 17 строчку. Написать функцию, удовлетворяющую следующим... подробнее

Показать сообщение отдельно
l2ded
80 / 68 / 11
Регистрация: 10.05.2011
Сообщений: 284
02.06.2013, 20:04
Цитата Сообщение от XlorD59 Посмотреть сообщение
Дело в том, что в изначальном массиве кол-во элементов может быть нечётным. Т.е. одна пара в итоге будет неполная. Это как в двумерный массив записать тогда?
И что?
C++
1
M=(count % 2)? (count/2+1) : (count/2);
и потом выделяешь память


Один из вариантов:
1) C выводом
C
1
2
3
4
5
6
7
8
9
10
11
    for(i=0,k=0;i<M-1;i++,k+=2){
            MASSIV[i][0]=A[k];MASSIV[i][1]=A[k+1];
            cout<<MASSIV[i][0];cout<<MASSIV[i][1];cout<<endl;
        }
 
    if (count % 2) {
         MASSIV[i][0]=A[k]; cout<<MASSIV[i][0];cout<<endl; }   
    else {
    MASSIV[i][0]=A[k]; MASSIV[i][1]=A[k+1];
    cout<<MASSIV[i][0];cout<<MASSIV[i][1];cout<<endl;
    }
2) Без вывода
C
1
2
3
for(i=0,k=0;i<M-1;i++,k+=2){MASSIV[i][0]=A[k];MASSIV[i][1]=A[k+1];}
if (count % 2) MASSIV[i][0]=A[k];   
else {MASSIV[i][0]=A[k]; MASSIV[i][1]=A[k+1];}
где
A - массив из случайных чисел.
MASSIV - массив из пар чисел.
k - индекс массива A;
i - номер пары.
count - кол-во элементов массива A; A[count]
M - кол-во пар массива MASSIV; MASSIV[M][2]

просто придётся всегда использовать if (count % 2) и рассматривать 2 случая окончания массива.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.