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

Сформировать два массива.... - C++

Войти
Регистрация
Восстановить пароль
 
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 16:16     Сформировать два массива.... #1
Дан массив из 20 элементов. Сформировать два массива размером 10, включив в первый из них элементы с четными номерами, во второй с нечетными.
Не могу сформировать массив, Если не сложно напишите всю программу...

Добавлено через 2 минуты 5 секунд
сам пробывал писать:
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
#include<stdio.h>
main()
{
int a[20]={3,4,5,7,3,5,3,3,5,3,3,9,0,6,7,4,5,5,8,3}, b[10], c[10], i;
printf("c[10]=");
 
for (i=0; i<=19; i++)
if ((i%2)==0 )
{c[10]=a[i];
 
printf("%d ",c[10]);}
printf("\n");
printf("b[10]=");
for (i=0; i<=19; i++)
if (i%2!=0)
{ b[10]=a[i];
 
printf("%d\ ", b[10]); }
printf("\n");
return 0;
}
 
Но это не правильно,т.к. b[10]  и с[10] он берет не как массивы..., а как числа
 
[SIZE=1]Добавлено через 1 минуту 18 секунд[/SIZE]
#include<stdio.h>
main()
{
int a[20]={3,4,5,7,3,5,3,3,5,3,3,9,0,6,7,4,5,5,8,3}, b[10], c[10], i;
printf("c[10]=");
 
for (i=0; i<=19; i++)
if ((i%2)==0 )
{c[10]=a[i];
 
printf("%d ",c[10]);}
printf("\n");
printf("b[10]=");
for (i=0; i<=19; i++)
if (i%2!=0)
{ b[10]=a[i];
 
printf("%d\ ", b[10]); }
printf("\n");
return 0;
}
Добавлено через 4 минуты 41 секунду
Код нужен на turbo c
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2009, 16:16     Сформировать два массива....
Посмотрите здесь:

C++ Сформировать два одномерных массива из двумерного!
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ C++
C++ Дано два целочисленных массива Сформировать новый массив, который содержит элементы первого массива, которых нет во втором
Отсортировать два массива и сформировать третий, так же упорядоченный C++
C++ Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10)
Сформировать два массива, заключив в каждый четные и нечетные номера исходного массива соответственно C++
C++ Заданные два массива: A (n) и B (n). Сформировать массив C (n) следующим образом:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
10.07.2009, 16:18     Сформировать два массива.... #2
делать по массивы по 10 - это неправильно, т.к. весь массив может состоять из (не)чётных элементов, и тогда приплыли.

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
#include <functional>
#include <algorithm>
 
/*
    Дан массив из 20 элементов.
    Сформировать два массива размером 10, включив в первый из них элементы с четными номерами,
    во второй с нечетными.
*/
 
template <typename T>
struct odd : public std::unary_function<T, bool>
{
    bool operator()(const T& value) const
    { return value & 1; }
};
 
int main()
{
    const size_t N = 20;
    int a[N] = {...}, b[N], c[N];
 
    std::remove_copy_if(a, a+N, b, odd<int>());
    std::remove_copy_if(a, a+N, c, std::not1(odd<int>()));
 
    return 0;
}
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 16:23  [ТС]     Сформировать два массива.... #3
Нужны четные номера, а не элементы ... Поэтому мне кажется 10 можно

Добавлено через 2 минуты 19 секунд
формировать два массива размером 10
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
10.07.2009, 16:23     Сформировать два массива.... #4
если кажется - тогда делай. но сперва покрестись :lol:
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
10.07.2009, 16:25     Сформировать два массива.... #5
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
// Tests.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <stdio.h>
#include<iostream>
#include <conio.h>
using namespace std;
void main()
{
    int m[20];
    int *a=new int[20];
    int *b=new int[20];
    int i=0;
    int counter=0;
    int counter1=0;
    for(i=0;i<20;i++)
        m[i]=i;
    for(i=0;i<20;i++)
    {
        if(m[i]%2)
        {
            b[counter]=m[i];
            counter++;
        }
        else
        {
            a[counter1]=m[i];
            counter1++;
        }
        cout<<m[i]<<endl;
    }
    cout<<"Ne4etnie"<<endl;
    for(i=0;i<counter;i++)
        cout<<b[i]<<endl;
    cout<<"4entie"<<endl;
    for(i=0;i<counter1;i++)
    cout<<a[i]<<endl;
    _getch();
 
}
Так ?
P.s можешь вводить с клавиатуры как угодно 19 нечетных 1 четный.
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 16:28  [ТС]     Сформировать два массива.... #6
Sekt, а этот код для с пойдет?
Search..
Заказ софта
 Аватар для Search..
339 / 184 / 10
Регистрация: 26.05.2009
Сообщений: 863
10.07.2009, 16:29     Сформировать два массива.... #7
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
/* Дан массив из 20 элементов. Сформировать два массива размером 10, 
   включив в первый из них элементы с четными номерами, во второй с нечетными. */
 
#include <stdio.h>
 
int main(int argc, char * argv [])
{
    const short N = 20, M = 10;
    int mas[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
        11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
 
    int even[M], odd[M]; /* Even - четный. Odd - нечетный */
 
    for(int i = 0, i_even = 0, i_odd = 0; i < N; i++)
    {
        if(mas[i]%2 == 0)
        {
            even[i_even] = mas[i];
            printf("Even[%d]: %d\n", i_even + 1, even[i_even]);
            i_even++;
        }
        else
        {
            odd[i_odd] = mas[i];
            printf("Odd[%d]: %d\n", i_odd + 1, odd[i_odd]);
            i_odd++;
        }
    }
    return 0;
}
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
10.07.2009, 16:32     Сформировать два массива.... #8
Цитата Сообщение от KamalovRadik Посмотреть сообщение
Sekt, а этот код для с пойдет?
Да конешно
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
10.07.2009, 16:42     Сформировать два массива.... #9
Цитата Сообщение от Sekt Посмотреть сообщение
Да конешно
нет конешно..
он сразу на этих строках ошибку выдаст
C++
1
2
#include "stdafx.h"
#include<iostream>
Добавлено через 52 секунды
Search.., товой тоже на "С" работать не будет.
Search..
Заказ софта
 Аватар для Search..
339 / 184 / 10
Регистрация: 26.05.2009
Сообщений: 863
10.07.2009, 16:43     Сформировать два массива.... #10

Не по теме:

ISergey: Привед !! =)



Добавлено через 47 секунд
ISergey: А я же под Visual Studio писал =)
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 16:45  [ТС]     Сформировать два массива.... #11
А что значит i_even = 0, i_odd = 0;

Добавлено через 1 минуту 19 секунд
Может кто нибудь под С написать?
Search..
Заказ софта
 Аватар для Search..
339 / 184 / 10
Регистрация: 26.05.2009
Сообщений: 863
10.07.2009, 16:46     Сформировать два массива.... #12
KamalovRadik: Инициализировать эти переменные нулями...

Добавлено через 44 секунды
А зачем тебе С ? Microsoft Visual Studio рулит. Если Linux, то gcc рулит =)
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 16:52  [ТС]     Сформировать два массива.... #13
У меня экзамен завтра по С,,
Search..
Заказ софта
 Аватар для Search..
339 / 184 / 10
Регистрация: 26.05.2009
Сообщений: 863
10.07.2009, 16:53     Сформировать два массива.... #14
Аа, ясно... Я под С к сожалению не пишу. Так что помочь не смогу
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
10.07.2009, 16:56     Сформировать два массива.... #15
Цитата Сообщение от KamalovRadik Посмотреть сообщение
Может кто нибудь под С написать?
Модификация кода Search..

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
#include <stdio.h>
 
#define N 20
#define M 10
 
int main()
{
    int mas[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
        11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
 
    int even[M], odd[M]; /* Even - четный. Odd - нечетный */
    int i, i_even, i_odd;
 
    for(i = 0, i_even = 0, i_odd = 0; i < N; i++)
    {
        if(mas[i]%2 == 0)
        {
            even[i_even] = mas[i];
            printf("Even[%d]: %d\n", i_even + 1, even[i_even]);
            i_even++;
        }
        else
        {
            odd[i_odd] = mas[i];
            printf("Odd[%d]: %d\n", i_odd + 1, odd[i_odd]);
            i_odd++;
        }
    }
    return 0;
}
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 17:00  [ТС]     Сформировать два массива.... #16
i, i_even, i_odd; чтоэто такое?
Search..
Заказ софта
 Аватар для Search..
339 / 184 / 10
Регистрация: 26.05.2009
Сообщений: 863
10.07.2009, 17:32     Сформировать два массива.... #17

Не по теме:

ISergey: Перед тем, как модифицировать мое детище, тебе нужно купить у меня лицензию за 1000 баксов, гг



Добавлено через 1 минуту 33 секунды
KamalovRadik: Это счетчики. Они нужны для того же, для чего и те переменные, которые ты объявляешь в for.
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 17:53  [ТС]     Сформировать два массива.... #18
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
#include<stdio.h>
main()
{
int mas[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int a[10],b[10],i,x,y;
for(i=0, x=0,y=0; i<10; i++)
{
if(i%2==0)
{
a[x]=mas[i];
printf("a[x]=%d\n",a[x]);
x++;
}
else
{
b[y]=mas[i];
printf("b[y]=%d\n",b[y]);
y++;
}
}
printf("3-i element=%d\n",a[3]);
printf("\n");
return 0    ;
}
где я допустил ошибки?
Компилятор перечисляет числа от 1-10 и все
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
10.07.2009, 17:59     Сформировать два массива.... #19
Код
for(i=0, x=0,y=0; i<[COLOR="Red"]20[/COLOR]; i++)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2009, 18:07     Сформировать два массива....
Еще ссылки по теме:

Сформировать из матрицы два одномерных массива... C++
C++ Заданные два массива: A (n) и B (n). Сформировать массив C (n) следующим образом:
Из данных двоичного файла сформировать два массива C++
Сформировать два массива C++
C++ Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый массив переписать все четные

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

Или воспользуйтесь поиском по форуму:
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.07.2009, 18:07  [ТС]     Сформировать два массива.... #20
Всем Спасибо...
Yandex
Объявления
10.07.2009, 18:07     Сформировать два массива....
Ответ Создать тему
Опции темы

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