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

Двузначное число разделить на две позиции в массиве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
30.08.2012, 11:35     Двузначное число разделить на две позиции в массиве #1
у меня есть действительные числа в массиве от 1 до 15. Как сделать так что бы начиная с 10, десять стояла не на одной позиции, а разделилось на две, то есть что бы 10 делилась на 1 и на 0, что бы на 9 позиции стоит 1, а на 10 стоит 0.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21436 / 10221 / 1666
Регистрация: 12.02.2012
Сообщений: 17,096
30.08.2012, 11:39     Двузначное число разделить на две позиции в массиве #2
т.е. с 9-го элемента каждый элемент разбивать на десятки и единицы? А места в массиве хватит?
Holsteng
 Аватар для Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
30.08.2012, 11:41     Двузначное число разделить на две позиции в массиве #3
Если я правильно понял, то попробуй найти 10 примени % и /, получишь два числа, используй два массива, с одним работаешь, а другой наполняешь, я бы так сделал
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
30.08.2012, 11:54     Двузначное число разделить на две позиции в массиве #4
Цитата Сообщение от Leonman Посмотреть сообщение
у меня есть действительные числа в массиве от 1 до 15. Как сделать так что бы начиная с 10, десять стояла не на одной позиции, а разделилось на две, то есть что бы 10 делилась на 1 и на 0, что бы на 9 позиции стоит 1, а на 10 стоит 0.
числа действительно действительные? тогда что делать с 11.5? или что означает "действительные числа в массиве от 1 до 15" - числа от 1 до 15, или длина массива от 1 до 15?
пере пиши за дание что бы по нятно бы ло.
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
30.08.2012, 12:00  [ТС]     Двузначное число разделить на две позиции в массиве #5
Catstail, ну массив можно и vector взять. Поняли вы меня правильно.

Добавлено через 1 минуту
Holsteng, Спасибо

Добавлено через 5 минут
novi4ok, массив вообще может быть любым, речь идёт о том что бы каждое двузначное число разделить на десятки и единицы, и что бы единица стояла на позиции например i = 5, а десятки на i+1, тоесть на 6 позиции.
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
30.08.2012, 12:06     Двузначное число разделить на две позиции в массиве #6
приведи пример массива "до" и "после".

Не по теме:

это что - стиль такой? ЧТО БЫ страшней было?

Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
30.08.2012, 12:16  [ТС]     Двузначное число разделить на две позиции в массиве #7
novi4ok, Массив до: Array[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
Массив после: Array[] = {1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,1,4,1,5}
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
30.08.2012, 12:46     Двузначное число разделить на две позиции в массиве #8
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define N 15
 
int main()
{
    int Array[5*N], x = 0;
    while (x < N) 
    { 
        Array[x] = x+1; 
        printf("%d ",Array[x++]); 
    };
    
    printf("\n");
    
    for (int i = 0; Array[i] >= 0; i++)
        if (Array[i] >= 10 && Array[i] <= 99)
        {
            int j = 0; while (Array[j++] >= 0);
 
            for (int d = i; d >= i-1; d--)
                for (int q = j-1; q >= d; q--)
                    Array[q+1] = Array[q];
            
            int t = i+2;
            for (int val = Array[i+1]; val > 0; val/=10, t-=2)
                Array[t] = val % 10;
 
            int v = i+1;
            while (Array[v] >= 0) 
                Array[v++] = Array[v+1];
        }
 
    for (int z = 0; Array[z] >= 0; z++)
        printf("%d ",Array[z]);
    printf("\n");
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/19294d...fbd50a82319786
Миниатюры
Двузначное число разделить на две позиции в массиве  
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
30.08.2012, 13:02     Двузначное число разделить на две позиции в массиве #9
вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{ 
    int a[189], i;
    for(i=0; i<9; i++)
        a[i]=i+1;
    for(i=10; i<100; i++)
    {
        a[(i-10)*2+9]=i/10;
        a[(i-10)*2+10]=i%10;
    }
    for(i=0; i<189; i++)
        cout<<a[i]<<" ";
    cout<<endl;
 
return 0;
}
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
30.08.2012, 13:22     Двузначное число разделить на две позиции в массиве #10
Цитата Сообщение от Leonman Посмотреть сообщение
novi4ok, Массив до: Array[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
Массив после: Array[] = {1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,1,4,1,5}
числа в исходном всегда подряд?
исходный действительно нужен, или нужно просто результирующий вот таким получить?
может, просто нужно получить массив с цифрами, полученными из ряда чисел от 1 (? может, от m до n?) до n по описанному тобой принципу (цифрами, их которых составлены эти числа)?
четче задачу нужно формулировать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2012, 13:25     Двузначное число разделить на две позиции в массиве
Еще ссылки по теме:

C++ Записать двузначное число наоборот
Разделить функцию на две C++
C++ Как двузначное число из строки превратить в integer

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

Или воспользуйтесь поиском по форуму:
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
30.08.2012, 13:25  [ТС]     Двузначное число разделить на две позиции в массиве #11
valeriikozlov, Спасибо за более простой вариант

Добавлено через 2 минуты
novi4ok, Тема закрыта. Уже было прислано два варианта которые меня устраивают.
Yandex
Объявления
30.08.2012, 13:25     Двузначное число разделить на две позиции в массиве
Ответ Создать тему
Опции темы

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