Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 29.06.2011
Сообщений: 130

Вопрос по одномерным массивам.

19.09.2011, 19:05. Показов 805. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
1. Написал код но при запуске выкидывает ошибку и условия не считает.
В одномерном массиве формируемом случайно элементами как отриц. так и положит. нужно подсчитать кол-во этих элементов в отдельности. (отриц. = (), полож. = (), нулевых=())
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
#include "stdafx.h" 
#include <iostream>
 
using namespace std;
 
int main()
{
    const int count = 10;
    int arr[count];
 
    int n,k1,k2,k3;
     
    for (int i = 0; i < count; i++)
  {
       arr[i] = rand()%20;
    cout<<arr[i]<<" ";
  }
    k1=k2=k3=0;
    for(int i=0;i<n;i++) 
    { 
        cin>>arr[i]; 
        if(arr[i]>0)  k1++;
        if(arr[i]<0)  k2++;
        if(arr[i]==0) k3++;
    }
    cout<<"  a[i]>0: "<<k1<<endl;
    cout<<"  a[i]<0: "<<k2<<endl;
    cout<<"  a[i]=0: "<<k3<<endl;
    delete []arr;
    system("pause");
    return 1;
}

2. Дана неубывающая последовательность действительных чисел a1, a2, …an. Вставить действительное число b в нее так, чтобы последовательность осталась неубывающей.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
#include <vector>
 
void Print(int number) { std::cout << number << " ";  }
 
int main()
{
   int arr[] = { 10, -7, 12, 0, 8, 20, -11, 12 };
   std::vector <int> vec(arr, arr + 8);
   int number = 4;
   
   std::sort(vec.begin(), vec.end());
   
   std::vector <int>::iterator position = std::lower_bound(vec.begin(), vec.end(), number);
   vec.insert(position, number);
   
   std::for_each(vec.begin(), vec.end(), Print);
 
   return 0;
}
Нужно чтобы число и сама последовательность формировались случайно. По С++ маловато, сталкиваюсь с ним редко. Если кто может помочь, буду признателен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.09.2011, 19:05
Ответы с готовыми решениями:

Задача по одномерным массивам
Сформировать одномерный массив целых чисел а, используя датчик случайных чисел. Удалить 5 последних элементов массива. Прибавить в начало...

задача по одномерным массивам
1) Условие задачи: В массиве A определить среднюю длину непрерывных участков отрицательных значений элементов 2) Если у...

Задача по одномерным массивам
Помогите плиз решить задачу по одномерным массивам в C++ &quot;Дан массив целых чисел из n элементов. Найти удвоенную сумму положительных...

4
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
19.09.2011, 19:14
Цитата Сообщение от Ierehon Посмотреть сообщение
for(int i=0;i<n;i++)
переменная n неициализирована и в arr у вас помежт поместится только count элементов,а не n
1
0 / 0 / 2
Регистрация: 29.06.2011
Сообщений: 130
19.09.2011, 19:20  [ТС]
Спасибо, это я уже разобрался, все заработало, там еще надо править удаление в самом конце.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
19.09.2011, 19:37
1, если ноль считать за позитивное число и без проверок в функциях
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define SIZE 10
#define HI 10
#define LO (-10)
 
void random_fill(int * arr, size_t size, int lo, int hi){
    while ( size-- )
        *arr++ = rand() % ( hi - lo + 1 ) + lo;
}
 
void count_neg_pos(const int * arr, size_t size, size_t * neg, size_t * pos){
    size_t cnt[2] = { 0 };
    while ( size-- )
        ++cnt[(*arr++ < 0)];
    *pos = cnt[0];
    *neg = cnt[1];
}
 
void dump(const int * arr, size_t size){
    while ( size-- )
        printf("%d%c", *arr++, ( size ) ? ' ' : '\n');
}
 
int main(void){
    int arr[SIZE];
    size_t pos, neg;
    
    srand(time(NULL));
    
    random_fill(arr, SIZE, LO, HI);
    printf("Array: ");
    dump(arr, SIZE);
    count_neg_pos(arr, SIZE, &neg, &pos);
    printf("Negative: %d\nPositive: %d\n", neg, pos);
    
    return 0;
}
1
0 / 0 / 2
Регистрация: 29.06.2011
Сообщений: 130
20.09.2011, 09:13  [ТС]
Спасибо. но с первой задачей все уже давно решилось. Со второй вопрос все еще открыт. пробовал переделать, ничего не выходит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2011, 09:13
Помогаю со студенческими работами здесь

Задания по одномерным массивам.
Прошу помочь.. 1. Дана последовательность целых чисел a1,a2, ..., an. Выяснить, какое число встречается раньше - положительное или...

Два задания по одномерным массивам.
1. Дан вещественный массив А. Определить количество и индексы тех элементов массива, которые меньше элементов, стоящих в соседних...

Этап в задаче по одномерным массивам
void zeroElementsDelete(int *array, size_t *arraySize) { size_t zeroCounter(0); for (size_t i=0; i &lt; *arraySize; i++) ...

лаба по одномерным и многомерным массивам
Нужно сделать вот такую лабораторную, буду рад любой написанной функции, заранее спасибо. 1) N = 45 2) Функция для получения элементов...

решите программы по одномерным массивам на языке С++
1.Массив заполнить с помощью генератора случайных чисел в интервале в количестве 15 элементов. Сформировать массив Р из элементов массива...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru