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

как разбить массив на 5 частей по 4 символа (бита) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Corvette
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45
09.09.2011, 22:25     как разбить массив на 5 частей по 4 символа (бита) #1
Здравствуйте!

Подскажите, пожалуйста, как разбить массив на 5 частей по 4 символа (бита). Получается, вывести только первых четыре массива. Нужно сделать цикл в цикле или временный цикл для записи?

Код
#include <iostream>
#include <conio.h>
#include <cstring>
#include <cstdio>
 
using namespace std;
 
int main ()
{
    //char temp [20];
    char A [20] = {'1','0','1','0','1','1','0','0','1','0','1','0','1','0','1','1','0','0','1','0'};
   for (int i=0; i<20; i++)
    {
        cout << A[i]<< " "; 
    }
    cout << endl << endl; 
    //for (int j=4; j<21; j=j+4){
    for (int i=0; i<20/4; i++)
    {
     cout << A [i]<< " ";
    }   
    //}
    getch ();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2011, 22:25     как разбить массив на 5 частей по 4 символа (бита)
Посмотрите здесь:

C++ Одномерный массив, подскажите как посчитать сумму целых частей ...
Как разбить массив по 3 елемента и засунуть в другой массив C++
На сколько частей и как нужно разделить отрезок, чтобы произведение длин частей было максимальным C++
C++ Работа со строками ( разбить строку на N заданных частей с помощью strncpy)
Отрезок разбить на n частей, каждую часть проинтегрировать, либо методом трапеции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
09.09.2011, 22:52     как разбить массив на 5 частей по 4 символа (бита) #2
Цитата Сообщение от Corvette Посмотреть сообщение
разбить массив на 5 частей по 4 символа (бита)
так символа или бита?
Corvette
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45
09.09.2011, 22:55  [ТС]     как разбить массив на 5 частей по 4 символа (бита) #3
По 4 символа!
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
09.09.2011, 22:59     как разбить массив на 5 частей по 4 символа (бита) #4
Corvette, то есть, как бы тетрадами вывести?
C++
1
2
3
4
5
6
7
8
9
10
char a[20] = {'1','0','1','0','1','1','0','0','1','0','1','0','1','0','1','1','0','0','1','0'};
int i = 0;
 
while (i < 20)
{
  for (int j = 0; j < 4 && i < 20; j++) // при размере 20 условие, конечно, избыточное
    printf("%c", a[i++]);
 
  printf(" "); // последний пробел - некрасиво, но вам ведь все равно
}
Corvette
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45
10.09.2011, 01:50  [ТС]     как разбить массив на 5 частей по 4 символа (бита) #5
Да!!! Огромное спасибо за помощь!!!!!

Добавлено через 2 часа 47 минут
Пожалуйста, помогите, выше указанный одномерный массив разбить на 5 частей по 4 символа и записать в массив 5х4.
Попытки делал но к сожалению не получается!!!
Код
#include <iostream>
#include <conio.h>
#include <cstring>
#include <cstdio>
 
using namespace std;
 
int main ()
{

char temp [5][4] = {{0}};
char a[1][20] = {'1','0','1','0','1','1','0','0','1','0','1','0','1','0','1','1','0','0','1','0'};
int i = 0;
 
while (i < 20)
{
  for (int j = 0; j < 4 && i < 20; j++, i++) 
    cout << a[0][i] << " ";
    cout << endl; 
}
  cout << endl;
  
  
  for (int x=0; x<5; x++){
      for (int y=0, z=0; y<4, z<20; y++){
      temp [x][y]=a[0][z++];
      }
      }
      
   for (int x=0; x<5; x++){
      for (int y=0; y<4; y++){
      cout << temp [x][y] << " ";
      }
      cout << endl;
      }
  
  getch ();
  return 0;
}
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
10.09.2011, 02:55     как разбить массив на 5 частей по 4 символа (бита) #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    char temp [5][4];
    char a[20] = {'1','0','1','0','1','1','0','0',\
'1','0','1','0','1','0','1','1','0','0','1','0'};
 
    int temp_i=0;
    int temp_j=0;
 
    for (int i=0; i<20; i++) {
        if (i%4==0 && i)
        {
            temp_i++;
            temp_j=0;
        }
        temp[temp_i][temp_j++]=a[i];
    }
 
    for (int i=0; i<5; i++) {
        for (int j=0; j<4; j++)
            std::cout << temp[i][j] << ' ';
 
        std::cout << '\n';
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2011, 09:45     как разбить массив на 5 частей по 4 символа (бита)
Еще ссылки по теме:

Отрезок [a,b] разбить на n частей, каждую часть проинтегрировать C++
C++ Разбить массив на 10 частей (массивов)
Как лучше разбить байтовый массив на части? C++

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

Или воспользуйтесь поиском по форуму:
Corvette
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45
10.09.2011, 09:45  [ТС]     как разбить массив на 5 частей по 4 символа (бита) #7
Спасибо!!!
Yandex
Объявления
10.09.2011, 09:45     как разбить массив на 5 частей по 4 символа (бита)
Ответ Создать тему
Опции темы

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