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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
#1

одномерные массивы и указатели - C++

10.01.2010, 23:29. Просмотров 466. Ответов 6
Метки нет (Все метки)

помогите пожалуйста написать программу:
в одномерном массиве, состоящем из n элементов, вычислить:

1) номер минимального по модулю элемента массива;
2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.

сжать массив, удалив из него все элементы, величина которых находится в интервале [a,b]. освободившиеся в конце массива элементы заполнить нулями.

спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2010, 23:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос одномерные массивы и указатели (C++):

Одномерные массивы и указатели - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)номер максимального по модулю элемента массива; 2)сумму...

Одномерные массивы и указатели - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от А до В; ...

одномерные массивы и указатели - C++
в одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму отрицательных элементов массива

Одномерные массивы и указатели - составить блок-схему по коду - C++
Написал программу, но с составлением блок-схем у меня небольшая проблемка.. Помогите пожалуйста изменить или подредактировать и направить...

Одномерные массивы + указатели (среднее арифметическое чисел, введенных с клавиатуры) - C++
День добрый. В общем не получается у меня запустить эту задачу с помощью указателей: #include <stdio.h> #include <conio.h> ...

Одномерные массивы и указатели (Все отрицательные элементы увеличить на значение максимального элемента. Осуществить сдвиг) - C++
Дан массив A. Все отрицательные элементы увеличить на значение максимального элемента. Осуществить сдвиг влево на k позиций, где k – число...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
10.01.2010, 23:39 #2
1. Функция поиска индекса минимального по модулю элемента массива. Возвращает -1 в случае ошибки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<assert.h>
 
int min(int* arr, int size)
{
  assert(arr);
  
  if(size == 0)
    return -1;
  
  int min = 0;
 
  for(int i = 0; i < size; ++i)
    if(abs(arr[i]) < abs(arr[min]))
      min = i;
 
  return min;
}
LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
11.01.2010, 00:08  [ТС] #3
у меня есть начало.... но чуток другое... не могу сообразить как вывести номер элемента....

у меня так начинается:

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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand( (unsigned)time( NULL ) );
    const int n=10;
    double a[n];
    int i,j,imin=0;
    for (i=0; i<n; i++)
    {
        a[i]=rand()%20-10;
        cout << a[i] << " " ;
        if (abs(a[i])<abs(a[imin]))
            imin=i;
 
    }
    a[i]=abs(a[i]);
    cout << a[i]<< endl;
    cout << "nomer minimal'nogo po modylu elementa = " << n << endl;
    return 0;
}
но он показывает заданное количество элементов (((
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.01.2010, 00:15 #4
Вместо
C++
1
cout << "nomer minimal'nogo po modylu elementa = " << т<< endl;
Поставь.
C++
1
cout << "nomer minimal'nogo po modylu elementa = " << imin<< endl;
Нужно разбираться в том что у тебя есть, а так далеко не уедешь.
LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
11.01.2010, 00:55  [ТС] #5
спасибо большое!
а что делать со второй частью задания??
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
11.01.2010, 01:26 #6
LovingDaisy,

2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.

C++
1
2
3
4
5
6
7
8
9
10
int arr[] = {...}
const size_t N = sizeof(arr) / sizeof(arr[0]);
 
int* fn = std::find(arr, arr+N, std::bind2nd(std::less<int>(), 0));
if (fn == arr+N)
    throw std::runtime_error("no negatives");
 
int sum = 0;
for (int* p = ++fn; p != arr+N; ++p)
    sum += abs(*p);
LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
11.01.2010, 02:30  [ТС] #7
спасибо вам огромное =))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2010, 02:30
Привет! Вот еще темы с ответами:

Одномерные массивы и указатели (найти количество элементов массива, равных 0, сумму элементов массива...) - C++
Помогите пожалуйста разработать программу и реализовать интуитивный понятный интерфейс (используя формы).При написании программы можно...

Отсортировать массив и вывести на экран (массивы и указатели на указатели) - C++
Даны массивы F-фамилий студентов и S-результаты сессии (5 оценок) , причем s- результат сессии F студента. Отсортировать массив S по...

Указатели на массивы. Указатели и функции - C++
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать: -Элементы обоих массивов; -Общие...

Указатели и массивы. Указатели и функции - C++
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо написать функцию Compress() с использованием указателей, которая...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.01.2010, 02:30
Ответ Создать тему
Опции темы

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