Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для Wbgury
88 / 85 / 7
Регистрация: 16.05.2010
Сообщений: 272

ready-only

25.02.2012, 10:49. Показов 1215. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Компилирую код в CodeBlocks вот такие ошибки:

||=== until, Debug ===|
K:\until\main.cpp||In function 'void mode(const int*, int*, int)':|
K:\until\main.cpp|69|error: assignment of read-only location '*(freq + ((unsigned int)(rating * 4u)))'|
K:\until\main.cpp|72|error: increment of read-only location '*(freq + ((unsigned int)(((unsigned int)(*(answer + ((unsigned int)(((unsigned int)j) * 4u))))) * 4u)))'|
||=== Build finished: 2 errors, 0 warnings ===|

Вот сам код:

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
#include <iomanip>
 
using namespace std;
 
void mean(const int[], int);
void median(int[], int);
void mode(const int[], int[], int);
void bubbleSort(int [], int);
void printArray(const int[], int);
 
int main()
{
    const int responseSize = 99;
    int frequency[10] = {0},
         response[responseSize] = {6, 7, 8, 9, 8, 7, 8, 9, 8, 9,
                                   7, 8, 9, 5, 9, 8, 7, 8, 7, 8,
                                   6, 7, 8, 9, 3, 9, 8, 7, 8, 7,
                                   7, 8, 9, 8, 9, 8, 9, 7, 8, 9,
                                   6, 7, 8, 7, 8, 7, 9, 8, 9, 2,
                                   7, 8, 9, 8, 9, 8, 9, 7, 5, 3,
                                   5, 6, 7, 2, 5, 3, 9, 4, 6, 3,
                                   7, 8, 9, 6, 8, 7, 8, 9, 7, 8,
                                   7, 4, 4, 2, 5, 3, 8, 7, 5, 6,
                                   4, 5, 6, 1, 6, 5, 7, 8, 7};
    mean(response, responseSize);
    median(response, responseSize);
    mode(frequency, response, responseSize);
    return 0;
}
 
void mean(const int answer[ ], int arraySize)
{
    int total = 0;
    cout << "*********" << endl << "Srednee" << endl
         << "*********" << endl;
 
    for (int j = 0; j < arraySize; j++)
        total += answer[j];
 
    cout << "Srednee znachenie dlya dannogo rascheta:" << setiosflags(ios::fixed | ios::showpoint)
         << setprecision(4) << (float) total / arraySize << endl << endl;
}
 
void median(int answer[ ], int size)
{
    cout << "*********" << endl << "Mediana" << endl
         << "*********" << endl
         << "Ne sortirovanni massiv:";
 
    printArray(answer, size);
    bubbleSort(answer, size);
    cout << endl << endl << "Sortirovanni massiv:";
    printArray(answer, size);
 
    cout << endl << endl << "Mediana - eto element " << size / 2
         << " is massiva " << endl << size << " sortirovannih elementov. " << endl
         << "Dlya dannogo rascheta mediana: "
         << answer[size / 2] << endl << endl;
}
 
void mode(const int freq[ ], int answer[ ], int size)
{
    int largest = 0, modeValue = 0;
    cout << "*********" << endl << "Moda" << endl
         << "*********" << endl;
 
    for (int rating = 1; rating <= 9; rating++)
        freq[rating] = 0; //cpp|69|error: assignment of read-only location '*(freq + ((unsigned int)(rating * 4u)))'|
 
    for (int j = 0; j < size; j++)
        ++freq[answer[j]];  // cpp|72|error: increment of read-only location '*(freq + ((unsigned int)(((unsigned int)(*
 
    cout << "Otvet" << setw(11) << "Castota"
         << setw(19) << "Gistogramma" << endl << endl << setw(54)
         << "1  1   2   2" << endl << setw(54)
         << "5  0   5   0   5" << endl << endl;
 
    for (int rating = 1; rating <= 9; rating++) {
        cout << setw(8) << rating << setw(11)
        << freq[rating] << "               ";
 
        if (freq[rating] > largest) {
            largest = freq[rating];
            modeValue = rating;
        }
 
        for (int h = 1; h <= freq[rating]; h++)
            cout << "*";
 
        cout << endl;
    }
 
    cout << "Moda - eto naibolee chasto vstechaushiesy znachenie." << endl
         << "Dlya dannogo rascheta moda ravna " << modeValue
         << ", vstrechaetsya " << largest << " raz."
         << endl;
}
 
void bubbleSort(int a[ ], int size)
{
    int hold;
 
    for (int pass = 1; pass < size; pass++)
 
        for (int j = 0; j < size - 1; j++)
 
            if (a[j] > a[j + 1]) {
                hold = a[j];
                a[j] = a[j + 1];
                a[j + 1] =  hold;
            }
}
 
void printArray(const int a[ ], int size)
{
    for (int j = 0; j < size; j++) {
 
        if (j % 20 == 0)
            cout << endl;
 
        cout << setw(2) << a[j];
    }
}
Добавлено через 2 минуты
мучаюсь уже часа 2, никак не пойму в чём ошибка. Для переменной rating уже изменял тип в unsigned int и массиву freq[], тоже пытался. Ничего не получается((((. Обьясните пожалуйста в чём проблема
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2012, 10:49
Ответы с готовыми решениями:

Disk is not ready in drive D
Установил Turbo C++ в C:\ Невозможно открыть файл, выдаёт: disk is not ready in drive D В меню Options - Directories пути прописаны: ...

событие ready
Идея - все ок, инапату задается зеленая тень ошибка соотвецтвенно красная. я толком не юзал jQuery и как понимаю где то я с этим...

Ready Boost
Кто замечал ускорение работы Windows 7 при использовании Ready Boost? Как влияет количество памяти для Ready Boost 100 мб или 4 гб? К...

3
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.02.2012, 11:02
Естественно, у вас массив freq объявлен как const int []. А константам нельзя ничего присваивать.
Уберите const, в общем.
1
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
25.02.2012, 11:02
Массивы передаются по ссылке, вы в параметрах функции указали, что принимается ссылка на константные данные...

Не по теме:

Чутка опоздал :)

1
 Аватар для Wbgury
88 / 85 / 7
Регистрация: 16.05.2010
Сообщений: 272
25.02.2012, 11:25  [ТС]
спасибо! прогледел что то....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2012, 11:25
Помогаю со студенческими работами здесь

ready в jQuery
Почему именно такой синтакис: jQuery(document).ready(function() { alert('DOM готов!'); }); Почему используется именно объект...

Function.ready()
как насчёт такой задачи, функция срабатывает после того как отработала до конца другая? как такое можно реализовать, скажите пожалуйста!

Ready Boost?
что такое ready boost и с чем ее едят? обясните пожалуста поподробней а то невникал.... Добавлено через 3 минуты Материал из...

ready, onload
Читаю Чаффера и Шведберга На картинки мне в настоящее время плевать. Но под некоторыми файлами подразумеваются, видимо, и шрифты. И...

$(document).ready не работает
Добрых времени суток. Есть функция: $(document).ready(function(){ var set_property = function(){ ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru