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

Перезаписать нечётные элементы массива - C++

Восстановить пароль Регистрация
 
SlashX6
15 / 15 / 1
Регистрация: 16.03.2012
Сообщений: 427
20.03.2013, 16:06     Перезаписать нечётные элементы массива #1
Добрый день!
Попалось такое задание, которое по сути дела лёгкое, но сформулированно на мой взгляд не очень.
Помогите пожалуйста доделать задание.

Задание:
Создать динамический одномерный массив " Array " из 100 элементов. ( готово. )
Дать возможность заполнить N элементы массива. ( N > 0, вводит пользователь.
Должна быть возможность заполнения случаёными числами). ( пока только ручной ввод. )

В массиве " Array ", в котором по одному, каждый раз увеличивая размер массива, перезаписать нечётные элементы ( числа ) массива " Array ".


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
#pragma hdrstop
#pragma argsused
 
#include <stdio.h>
#include <tchar.h>
 
// #define n 100
 
int _tmain(int argc, _TCHAR* argv[])
{
    int * mas = malloc(100 * sizeof(int)); // определяем массив.
    int a, i; // а - сколько чисел будет введено, i - счётчик цикла
 
    do
    {
        clrscr(); // чистим экран
        printf("Vvedite skolko chisel hotite vvesti ( Max = 100 ): ");
        scanf("%d", &a);
        if  ( (a < 0) || ( a > 100) )  // проверка, можно-ли вводить такую границу.
        {
            printf("\nError. Nevernij diapozon!");
            clrscr(); // чистим экран
        }
    } while ( (a < 0) || ( a > 100) );  // проверка, пока будет граница a <= 0, a <= 100
 
        for (i = 0; i < a; i++)
        {
            printf("Chislo # %d: ", i+1);
            scanf("%d", &mas[i]);
        }
        printf("\nAll number were entered!");
    getch();
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2013, 16:06     Перезаписать нечётные элементы массива
Посмотрите здесь:

Вывести чётные и нечётные элементы C++
C++ Удалить все нечётные элементы массива и отсортировать
Создать два массива: в одном хранятся чётные элементы исходного, в другом – нечётные C++
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив C++
C++ Задан массив целых чисел. Определить, сколько процентов от всего количества элементов исходного массива составляют нечётные элементы
Закрасить нечётные отрицательные и чётные положительные элементы массива C++
Упорядочить нечётные элементы по убыванию, а чётные оставить на прежних местах C++
C++ Отсортировать массив, поставив сначала чётные элементы, а потом нечётные
C++ Отсортировать чётные элементы по возрастанию, а нечётные по убыванию
Отрицательные элементы массива заменить на их абсолютную величину и все нечётные элементы на корень C++
Вывести нечётные по значению элементы массива по возрастанию, а чётные - по убыванию C++
Скопировать чётные элементы из массива X в массив Y, а нечётные элементы в массив Z C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
20.03.2013, 23:43     Перезаписать нечётные элементы массива #2
SlashX6, вот так вроде работает

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
48
49
50
http://the-programmer.ru/publ/c/obuchenie_c/urok_36_ispolzovanie_argumentov_komandnoj_stroki/9-1-0-204
 
 
// showarg.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <locale>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
void main(int argc, char *argv[])
{
    wcout.imbue(locale(".866"));
 
    int size;
    wcout << L"Введите размерность массива: ";
        cin >> size;
 
    int *mas;
    mas = (int*)calloc(size, sizeof(int));          //выделяем память под массив
 
    srand(time(NULL));                  //чтобы числа не повторялись
    for(int i = 0; i < size; i++)
        mas[i] = 1 + rand() % 200;      //заполняем слу числами в промежутке от 1 до 200
 
    wcout << L"\nВывод массива: ";
    for(int i = 0; i < size; i++)
        cout << mas[i] << " ";
 
    int size_new = size;
    for(int i = 0; i < size; i++){
        if((mas[i] % 2) != 0){
            ++size_new;
            mas = (int*)realloc(mas, sizeof(int) * size_new);
            mas[size_new - 1] = mas[i];
        }
    }
 
    size = size_new;
    wcout << L"\nВывод массива: ";          //вывод нового массива
    for(int i = 0; i < size_new; i++)
        cout << mas[i] << " ";
 
    free(mas);
    cout << "\n\n";
}
Yandex
Объявления
20.03.2013, 23:43     Перезаписать нечётные элементы массива
Ответ Создать тему
Опции темы

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