BG Development


  Reply to this topicStart new topicStart Poll

> C++ Домашна работа, ПОМОЩ!
IKARIS
  Публикувано на: 12-11-2021, 14:35
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 12.11.21



Здравейте, може ли някой да ми помогне да реша тази задача? Много Благодаря! icon_smile.gif

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

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

Изчисляване на средно-аритметичното от числата в масива, които се делят без остатък на 5;

Намиране на максималното положително число в масива и неговия пореден номер;

Извеждане на екран на резултатите от съответното изчисляване, както и на въведените числа в масива (с подходящи текстове).
PMEmail Poster
Top
Bender++
Публикувано на: 12-11-2021, 16:22
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 320
Регистриран на: 18.04.21



мога да ти помогна да ти я напиша на ръст, ц++ е умрела работа

Това мнение е било редактирано от Bender++ на 12-11-2021, 16:22


--------------------
Ваксините са лъжа и НЕ работят! Не на ковид фашизма!
Слава на Цар Путин! Долу украинските фашисти!
Слава на героите - Z V
PMEmail Poster
Top
IKARIS
Публикувано на: 12-11-2021, 17:04
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 12.11.21



QUOTE (Bender++ @ 12-11-2021, 16:22)
мога да ти помогна да ти я напиша на ръст, ц++ е умрела работа

Благодаря ,но на мен ми трябва на C++
PMEmail Poster
Top
thrawn
Публикувано на: 12-11-2021, 19:29
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3317
Регистриран на: 17.01.17



QUOTE (IKARIS @ 12-11-2021, 17:04)
QUOTE (Bender @ ++12-11-2021, 16:22)
мога да ти помогна да ти я напиша на ръст, ц++ е умрела работа

Благодаря ,но на мен ми трябва на C++

А, ми щом на теб ти трябва, си сядаш на задните части и си я пишеш както ти трябва...
PMEmail Poster
Top
samolet4e
Публикувано на: 24-04-2022, 11:46
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 6
Регистриран на: 16.03.22



Знам, че е малко късно, но ето една реализация с vector<int>. Този вариант ми се струва по-удобен. Ако алокирам динамично масив с new, ще трябва да влача размера като аргумент на всяка функция (почти).

CODE

#include <iostream>
#include <vector>

using namespace std;

void fillIn(vector<int> &v) {

   if (v.size() > 0) v.clear();

   int N;
   cout << "Enter array dimension ";
   cin >> N;

   if (N < 1) return;

   int datum;
   for (int i = 0; i < N; i++) {
       cout << "p[" << i << "] = ";
       cin >> datum;
       v.push_back(datum);
   } // for_i

   return;
} // fillIn

void ls(vector<int> &v) {

   for (int i = 0; i < (int)v.size(); i++)
       cout << "p[" << i << "] = " << v[i] << endl;

   return;
} // ls

float avg(vector<int> &v) {

   float average = 0.;
   int cnt = 0;
   for (int i = 0; i < (int)v.size(); i++)
       if (v[i] % 5 == 0) { average += (float)v[i]; cnt += 1; } // if
   average /= (float)cnt;

   return average;
} // avg

// https://stackoverflow.com/questions/321068/returning-multiple-values-from-a-c-function
#include <tuple>
tuple<int, int> findMax(vector<int> &v) {

   int maxx = 0, idx = 0;

   for (int i = 0; i < (int)v.size(); i++)
       if (maxx < v[i]) { maxx = v[i]; idx = i; } // if

   return make_tuple(maxx, idx);
} // findMax

int main() {

   vector<int> v;
   int key;
   int maxx, idx; // p. 4

   do {

      cout << "=====================================\n";
      cout << " 1. Fill in an array\n";
      cout << " 2. List an array\n";
      cout << " 3. Computes average of mod(v[i], 5) == 0\n";
      cout << " 4. Finds max element\n";
      cout << " 5. Quit\n";
      cout << "\nMake your choice! ";
      cin >> key;

      switch(key) {

          case 1: fillIn(v); break;
          case 2: ls(v); break;
          case 3: cout << avg(v) << endl; break;
          case 4: tie(maxx, idx) = findMax(v); cout << "Max element " << maxx << "; Index " << idx << endl; break;
          case 5: v.clear(); return 1;
          default: break;

      } // switch

  } while (key < 5 || key > 1);

   return 0;
} // main




Прикачена картинка (Кликнете на картинката, за да я увеличите!)
Прикачена картинка
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0