0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 18
1

Не выводит на экран индекс массива

07.06.2016, 19:55. Показов 705. Ответов 9
Метки нет (Все метки)

Задача ввести с клавиатуры 10 чисел, найти среднее арифметическое, вывести все оценки и их количество на экран, затем вывести наиболее часто встречающуюся оценку. После вывода оценок на экран и подсчета их количества я занесла их количество в массив. Потом, для выяснения часто встречающийся оценки я ищу максимальный элемент в массиве. На экран выводиться например 3-что означает что три раза встречается оценка 2, но мне необходимо что бы выводилась сама двойка тоже. В конце программы присвоила переменной индекс массива, данная переменная всегда равна 9, как я понимаю последнему элементу в массиве. Подскажите, почему элемент выводиться неправильно.Я еще совсем зеленый студент в этом деле, поэтому прошу не писать новую программу по моему заданию а именно помочь разобраться с индексом. Просто более профессиональный подход к этой программе я не смогу понять и защитить в дальнейшем. Спасибо за понимание. Заранее спасибо.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
#include
#include
using namespace std;
int main ()
{
int i,j,i_1=0,i_2=0,i_3=0,i_4=0,i_5=0,
i_6=0,i_7=0,i_8=0,i_9=0,i_10=0,Massiv[10];
float summa=0;
cout<<"postavte ocenku chkolnoi stolovoi po 10-ti balnoi chkale. Gde 1-otvratitelno,10-otlichno\n";
for (i=0; i<10;i++)
cin>> Massiv [i];
cout <<"vse ocenki\n";
for (i=0; i<10;i++)
cout <<Massiv [i]<< " \n";
for (i=0; i<10;i++)
summa+=Massiv[i];
cout<<"srednee-"<<summa/10<<endl;
for (i=0; i<10;i++)
{
if(Massiv[i]==1)
i_1++;
if(Massiv[i]==2)
i_2++;
if(Massiv[i]==3)
i_3++;
if(Massiv[i]==4)
i_4++;
if(Massiv[i]==5)
i_5++;
if(Massiv[i]==6)
i_6++;
if(Massiv[i]==7)
i_7++;
if(Massiv[i]==8)
i_8++;
if(Massiv[i]==9)
i_9++;
if(Massiv[i]==10)
i_10++;
}
cout<<"chasto1-"<<i_1<<endl;
cout<<"chasto2-"<<i_2<<endl;
cout<<"chasto3-"<<i_3<<endl;
cout<<"chasto4-"<<i_4<<endl;
cout<<"chasto5-"<<i_5<<endl;
cout<<"chasto6-"<<i_6<<endl;
cout<<"chasto7-"<<i_7<<endl;
cout<<"chasto8-"<<i_8<<endl;
cout<<"chasto9-"<<i_9<<endl;
cout<<"chasto10-"<<i_10<<endl;
{
int Ocenki[10]={i_1,i_2,i_3,i_4,i_5,i_6,i_7,i_8,i_9,i_10};
int max=Ocenki[0],imax=0;
for (i=1;i<10;i++)
{if (Ocenki [i]>max)
max=Ocenki[i];
imax=i;
}
cout<<"chislo-"<<imax<<endl;
cout<<"chache-"<<max<<endl;
}
return 0;
}
Не выводит на экран индекс массива
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2016, 19:55
Ответы с готовыми решениями:

Индекс массива выводит нули.....
Условие задачи: Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве...

Индекс находился вне границ массива и Console.WriteLine () выводит 2 раза (надо 1)
Доброго времени суток! Запутался. Помогите исправить 2 ошибки! 1) Индекс находился вне границ...

Выводит ошибку (Program5.pas(30) : Ошибка времени выполнения: Индекс выходит за границы массива)
Здравствуйте,при выполнении данной программы выводится ошибка Program5.pas(30) : Ошибка времени...

Вывести на экран индекс минимального значения массива
где ошибка в написании кода. задача следующая нужно было ввести массив вещественного типа и вывести...

9
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 18
07.06.2016, 20:10  [ТС] 2
Добавив операторные скобки, выводит цифру 1..
C++
1
2
3
4
5
if (Ocenki [i]>max)
{
max=Ocenki[i];
imax=i;
}
0
Mental handicap
1245 / 623 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
07.06.2016, 20:14 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
for (i=0; i<10;i++)
{
if(Massiv[i]==1)
i_1++;
if(Massiv[i]==2)
i_2++;
if(Massiv[i]==3)
i_3++;
if(Massiv[i]==4)
i_4++;
if(Massiv[i]==5)
i_5++;
if(Massiv[i]==6)
i_6++;
if(Massiv[i]==7)
i_7++;
if(Massiv[i]==8)
i_8++;
if(Massiv[i]==9)
i_9++;
if(Massiv[i]==10)
i_10++;
}
Это что?
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 18
07.06.2016, 20:18  [ТС] 4
Это я сравниваю каждый элемент массива с оценкой, если элемент равен оценке то я увеличиваю значение переменой на единицу. Что бы вывести на экран какая оценка сколько раз встречается
0
Mental handicap
1245 / 623 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
07.06.2016, 20:25 5
КсенияФокина,
C++
1
2
3
4
5
const int countSize = 21;
    int count[countSize] = {0};
 
    for (int i = 0; i < size; i++)
        count[arr[i]]++;
поиск наиболее часто встречающегося числа
0
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 312
07.06.2016, 20:31 6
51, 58, 61 - строки - скобки лишние
0
Mental handicap
1245 / 623 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
07.06.2016, 20:33 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
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
 
const int size = 10;
int arr[size];
 
void poisk()
{
    const int countSize = 11;
    int count[countSize] = {0};
 
    for (int i = 0; i < size; i++)
        count[arr[i]]++;
 
    for (int i = 0; i < countSize; i++)
        cout << i << " - " << count[i] << " раз." << endl;
}
 
int main()
{
    double sum=0;
    setlocale(LC_ALL, "Russian");
    cout << "Массив: ";
    for (int i = 0; i < size; i++)
    {
        arr[i] = rand() % 9 + 1;
        cout << arr[i] << "  ";
    }
 
    for (int i = 0; i < size; i++) sum += arr[i];
 
    cout << endl;
    poisk();
    cout << endl;
    cout << "Вывод суммы: " << sum << endl;
    cout << "Вывод с/а: " << sum / 10 << endl;
    system("pause");
    return 0;
}
Так?
0
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 312
07.06.2016, 20:44 8
проглядел, 51 и 61 только лишние, 1 и 2е строки - чего инклудим то?, а так по коду - то
Цитата Сообщение от КсенияФокина Посмотреть сообщение
C++
1
2
3
{if (Ocenki [i]>max)
max=Ocenki[i];
imax=i;
судя по задумке должно выполняться вместе, а у тебя imax=i выполняется каждый цикл независимо от ifа, в скобочьки объедени вот так - будет норм
C++
1
2
3
4
5
if (Ocenki[i] > max)
{
    max = Ocenki[i];
    imax = i;
}
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 18
08.06.2016, 09:45  [ТС] 9
Всем огромное спасибо за помощь-много анализировала ваши ответы, и поняла что нужно было добавить операторные скобки, так как после if выполнялось только одно присваивание, а в выводе к переменной imax прибавила 1-ведь массив с нуля начинается) Теперь нужно как то в этой программе использовать указатели-просто я думала что указатели используются только при арифметических каких то операциях, а нет, сказано сделать эту программу с указателями. Помогите советом пожалуйста. Заранее спасибо.

Добавлено через 3 минуты
#include <iostream> Просто эта строчка почему то не вставилась)
0
Mental handicap
1245 / 623 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
08.06.2016, 16:33 10
КсенияФокина, Указатель: указывает на адрес в памяти, а так же её можно изменять (и не обязательно инициализировать при объявлении).
Объявляется так:
тип *имя_ссылки = &имя_переменной;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2016, 16:33
Помогаю со студенческими работами здесь

Запрашивать размеры двумерного массива, значения его элементов и выводит на экран массива в виде матрицы
помогите решить!!!!!!!! Составьте программу, которая запрашивает размеры двумерного массива,...

Вывести на экран минимальный элемент массива и его индекс
Program z6_2; uses crt; const n=6; var a:arrayof real; i:integer; begin clrscr;...

Вывести на экран наибольший элемент массива и его индекс
Нужно вывести наибольший элемент и его порядковый номер для каждого числа. Пожалуйста не нужно...

Как вывести на экран индекс максимального элемента массива?
Дан массив целых чисел, вывести на экран индекс максимального элемента массива. нужна вся...

Вывести на экран значение и индекс последнего отрицательного элемента массива
Помогите пожалуйста решить задачку. Вывести на экран значение и индекс последнего отрицательного...

В строке первый символ получает индекс 1, последний индекс 2, второй индекс 3, предпоследний индекс 4, третий индекс 5
В строке первый символ получает индекс 1, последний индекс 2, второй индекс 3, предпоследний индекс...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru