Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
#1

Массив - C++

30.12.2009, 20:41. Просмотров 816. Ответов 15
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
int main(){
    const int n=10;
    int a[n]={1,3,-5,16,-2,2,-1,3,9,4};
    int i,imax,imin,count;
    for(i=imax=imin=0;i<n;i++){
        if (a[i]>imax)
            imax=i;
        if (a[i]<imin)
            imin=i;
    }
    cout<<"\n\t max="<<a[imax]<<"min="<<a[imin];
    //int ibeg=imax<imin ? imax : imin;
    //int iend=imax<imin ? imin : imax;
    //cout<<"\n\t ibeg="<<ibeg<<"iend="<<iend;
    //for(count =0,i=ibeg+1;i<iend;i++)
    if(a[i]>0)
            count++;
    cout<<"Polojitelnix:"<<count<<endl;
    system("pause");
    return 0;
Выдаёт ошибку ! и в мин вообще не верное значение записывается почемуто???
Run-Time Check Failure #3 - The variable 'count' is being used without being initialized.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2009, 20:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Сжать массив, выбросив из него отрицательные элементы - массив становится пустым - C++
Задачка такая: Разработать программу, обеспечивающую ввод с клавиатуры целых чисел и сохранение их в одномерном массиве. Ввод...

с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого - C++
с клавиатуры ввести массив,во второй записать нечетные элеиенты из первого.В третий массив записать четные элементы, стоящие на нечетных...

15
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
30.12.2009, 20:46 #2
C++
1
int i,imax,imin,count=0;
0
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
30.12.2009, 20:48  [ТС] #3
спс ! а всё равно теперь пишет что count = 0 !!! почему так?(
0
breeve
75 / 75 / 14
Регистрация: 01.08.2009
Сообщений: 177
30.12.2009, 20:51 #4
Попробуй так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
#define n 10
int main(){
        int a[]={1,3,-5,16,-2,2,-1,3,9,4};
        int i,imax = 0,imin = 0,count = 0;
        for(i=0;i<n;i++){
                if (imax<a[i]) imax=a[i];
                if (imin>a[i]) imin=a[i];
        }
        cout<<"\n\t max= "<<imax<<" min= "<<imin;
        //int ibeg=imax<imin ? imax : imin;
        //int iend=imax<imin ? imin : imax;
        //cout<<"\n\t ibeg="<<ibeg<<"iend="<<iend;
        //for(count =0,i=ibeg+1;i<iend;i++)
        for(int i = 0; i < n; i++)
{
        if(a[i]>0) count++;
}
        cout<<" Polojitelnix:"<<count<<endl;
        cin.get();
        return 0;
    }
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
30.12.2009, 20:55 #5
Приравнивание imin и imax к нулю не поможет, т.к. в массиве есть и отрицательные элементы.
0
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
30.12.2009, 20:59  [ТС] #6
а что поможет? )
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
30.12.2009, 21:00 #7
Цитата Сообщение от morgusha Посмотреть сообщение
а что поможет? )
выдать сюда текст задачи, стопудово поможет
0
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
30.12.2009, 21:01  [ТС] #8
выдаёт max=9 min =4 polojitelnix 0
почемуто всегда берутся только последние 2 значения из массива как не меняй его !!!
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
30.12.2009, 21:19 #9
morgusha,
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
#include <iostream>
 
using namespace std;
 
template <typename T, size_t N> inline T max(const T (&arr)[N])
{
    T max = *arr;
    for (size_t i = 0 ; i < N ; i++)
        if (arr[i] > max) max = arr[i];
    return max;
}
 
template <typename T, size_t N> inline T min(const T (&arr)[N])
{
    T min = *arr;
    for (size_t i = 0 ; i < N ; i++)
        if (arr[i] < min) min = arr[i];
    return min;
}
 
template <typename T,size_t N> inline T count(const T (&arr)[N])
{
    int count = 0;
    for (size_t i = 0 ; i < N ; i++)
        if (arr[i] > 0 ) count++;
    return count;
}
 
int main()
{
    const int arr[] = {1,2,3,-4,-3,4,2};
    cout << max(arr) << endl;
    cout << min(arr) << endl;
    cout << count(arr) << endl;
    system("pause");
    return 0;
}
препод может примет ))
0
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
30.12.2009, 21:22  [ТС] #10
ты крутой ! но у тебя выводи 4 -4 и 5 а медлу 4 и -4 всего 1 элемент !
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
30.12.2009, 21:24 #11
morgusha, ааа блин ну я думал что тебе просто макс мин и кол - во полож )
0
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
30.12.2009, 21:24  [ТС] #12
Цитата Сообщение от Андрейка Посмотреть сообщение
morgusha, ааа блин ну я думал что тебе просто макс мин и кол - во полож )
Неее мне не надо сдавть эту задачу ! мне интересно почему мой код не работает ! Я просто вот учусь Си ++ )))
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
31.12.2009, 04:57 #13
Цитата Сообщение от morgusha Посмотреть сообщение
Неее мне не надо сдавть эту задачу ! мне интересно почему мой код не работает ! Я просто вот учусь Си ++ )))
чОрт, да кто поймёт что он не работает, если ты хранишь задание в тайне. такой большой секрет чтоли?
0
morgusha
1 / 1 / 0
Регистрация: 21.05.2009
Сообщений: 255
31.12.2009, 11:44  [ТС] #14
прорамма должна просматривать массив в обратном порядке суммируя его элементы и завершить цикл,как только встретится отрицательный элемент !!!
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
31.12.2009, 13:30 #15
Цитата Сообщение от morgusha Посмотреть сообщение
прорамма должна просматривать массив в обратном порядке суммируя его элементы и завершить цикл,как только встретится отрицательный элемент !!!
вот оно как, Михалыч

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main(){
    const int n=10;
    int a[n]={1,3,-5,16,-2,2,-1,3,9,4};
    
    int summ=0;
    for(int i=n; --i>=0;){
        if(a[i]<0) break;
        summ+=a[i];     
    }
    cout<<"\n\t summ="<<summ<<endl;
    
    system("pause");
    return 0;
}
0
31.12.2009, 13:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2009, 13:30
Привет! Вот еще темы с ответами:

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++
Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все...

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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