Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Wrath

Спешно. C++ (Масиви, някой ако може да метне рамо)

Препоръчан отговор


Някой може ли да помогне? Значи имам 20 часа за които трябва да оправя тази грешка,тръгна ми няколко пъти програмата но вече ми изписва : size is ambiguous. A на онлайн компилаторите работи докато създам някакъв масив и след това спира и ме връща на менюто .
Условие : 

Програма с функция main() и избор чрез меню на функции за:

Въвеждане от клавиатура на размерност (с проверка за коректност) и елементи на масив от цели числа C(K) (K<=25);

Формиране на нов масив CN(K) само от нечетните по стойност елементи и определяне на средно-аритметичната им стойност;

Презаписване на масива C(K) в масив CS(K) и сортиране на този масив в низходящ ред;

Извеждане на екран информация за съответния масив с пояснителен текст.

Направил съм я задачата. Тръгна ми няколко пъти, но вече не ще :Д Някой по-голям разбирач нека да погледне. Ще черпя ! 

https://pastebin.com/U8FHWwDx

Edit

Някои неща си бачкат

https://gyazo.com/b6696ff09a1c214d57c4241e9dd1ab64 , https://gyazo.com/383458c9fc3615e3069a7fa3559b5461
 

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Индексите на масивите при С/С++ са от 0 до size-1 , не както при тебе от 1 до size

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Значи не гледах целия код, а само една фунция(enterArr()) и имам няколко забележки:

1 - size е глобална променлива.Добре е да избягваш глобалните променливи а и в този случай не е нужно да е глобална.Примено можеш да я връщаш като аргумент.

2 - size e int тоест число със знак.Не очакваш размер със отрицателен размер нали?По-добре е да използваш unsigned int.

3- какво ще стане ако въведа отрицателно число?

4 - "cout << "Masiv[" << i << "] = ";" не ме кефи виж printf как се използва.

5 -   "cin >> m;" променливата m е ненужна.

6 - "for(int i=1 ; i<size+1 ; i++)" ние програмистите сме странни и броим от 0 не от 1.

7 - "int* arr = new int;" заделяш динамична памет, но не виждам никъде да я освобождаваш.Освобождаването на динамичната памет е от особено значение!!!

8 - какво ще стане ако не можеш да вземеш тази динамична памет?Какво ще стане ако enterArr() фейлне?Тези проверки също са много важни.

Друго не се сещам.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 1 час, Martin Chekurov написа:

Значи не гледах целия код, а само една фунция(enterArr()) и имам няколко забележки:

1 - size е глобална променлива.Добре е да избягваш глобалните променливи а и в този случай не е нужно да е глобална.Примено можеш да я връщаш като аргумент.

2 - size e int тоест число със знак.Не очакваш размер със отрицателен размер нали?По-добре е да използваш unsigned int.

3- какво ще стане ако въведа отрицателно число?

4 - "cout << "Masiv[" << i << "] = ";" не ме кефи виж printf как се използва.

5 -   "cin >> m;" променливата m е ненужна.

6 - "for(int i=1 ; i<size+1 ; i++)" ние програмистите сме странни и броим от 0 не от 1.

7 - "int* arr = new int;" заделяш динамична памет, но не виждам никъде да я освобождаваш.Освобождаването на динамичната памет е от особено значение!!!

8 - какво ще стане ако не можеш да вземеш тази динамична памет?Какво ще стане ако enterArr() фейлне?Тези проверки също са много важни.

Друго не се сещам.

Благодаря за полезния коментар, ясно и точно ! 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Командата е clear не cls.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...