Форум

Data.BG Форуми: Задача на c++(динамичен масив) - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

Задача на c++(динамичен масив)

#1
Потребителят е неактивен   aremlakve 

  • Група: Потребители
  • Мнения: 2246
  • Регистриран: 28-June 07
  • Репутация: 138
  • Пол:Мъж
  • Град:The middle earth -Mordor
  • Интереси:Музика,книги,филми .
Здравейте ,някой ще ми помогне ли с тази задача


Да се дефинират следните функции, които намират и връщат като резултат:

- броя на нулевите елементи;

- позицията на първия нулев елемент;

в едномерен масив от реални (дробно-десетични) стойности.

Параметри на функциите са началото на масива и броя елементи.

Да се дефинира динамичен масив от реални елементи. Да се въведат стойностите на елементите и да се намерят броя на нулевите и позицията на първия нулев елемент. Динамично заделената памет да се премахне

Мнението беше редактирано от aremlakve: 09.09.18 - 17:09

Just close your eyes and feel the music nothing else matters

ЧОВЕК,КОЙТО ОБИЧА МУЗИКАТА, НИКОГА НЯМА ДА БЪДЕ НАПЪЛНО НЕЩАСТЕН !
0

#2
Потребителят е неактивен   georgedimov 

  • Група: Потребители
  • Мнения: 5330
  • Регистриран: 26-May 03
  • Репутация: 61
  • Пол:Мъж
  • Град:Велико Търново
// file zeroarr.cpp
// target OS -- Windows 7 64-bit SP1
// target compiler -- Dev-C++ 5.7.1 (MinGW GCC 4.8.1 32-bit Release)

// some includes
using namespace std; // may be here, of course
#include <iostream> // for General Purpose

// some defines -- but it's not a good idea to change it values
#define ARR_MIN 1
#define ARR_MAX 1024
typedef double real;

// some functions
unsigned arrsize(unsigned amin, unsigned amax) // must be unnsigned, not an int
{
unsigned arrs;
cout << "enter size of array between " << amin << " and " << amax << " = ";
do
// { // because we have only one operator between do ... while statement
cin >> arrs;
// } // we may exclude some curly brackets
while ((arrs < amin) || (arrs > amax));
// return arrs; // here not needed for my compiler
}

real *arrcreat(unsigned as) // create dynamic array of as reals
{
return new real [as];
}

void arrfill(real *ap, unsigned ac)
{
real *tp = ap;
for (unsigned n = 0; n < ac; n++)
{
cout << "a[" << n << "] = ";
cin >> *tp++;
}
}

unsigned cntzero(real *ap, unsigned ac)
{
real *tp = ap;
unsigned cntz = 0;
for (unsigned n = 0; n < ac; n++)
if (!(*tp++))
cntz++;
return cntz;
}

int idxfzero(real *ap, unsigned ac)
{
real *tp = ap;
for (unsigned n = 0; n < ac; n++)
if (!(*tp++))
return n;
return (-1); // no zero member in array
}

main() // int main(int argc, char *argv[])
{
unsigned as = arrsize(ARR_MIN, ARR_MAX);
real *ap = arrcreat(as); // here we create dynamic array of reals with as elements
arrfill(ap, as);
unsigned cntz = cntzero(ap, as);
cout << "count of zero members in array = " << cntz << endl;
int idxz = idxfzero(ap, as);
if (idxz == -1)
cout << "no zero members in array\n";
else
cout << "index of first zero member in array = " << idxz << endl;
delete [] ap; // here we destroy previously created dynamic array of reals
return 0; // no errors of course
}

БТВ -- табулациите ми нещо се губят...
В IDE-то на компилатора и в notepad++ си изглеждат добре.
Иначе спокойно може да замениш unsigned с int.

Мнението беше редактирано от georgedimov: 17.09.18 - 18:04

1

#3
Потребителят е неактивен   aremlakve 

  • Група: Потребители
  • Мнения: 2246
  • Регистриран: 28-June 07
  • Репутация: 138
  • Пол:Мъж
  • Град:The middle earth -Mordor
  • Интереси:Музика,книги,филми .
Благодаря ти много
Just close your eyes and feel the music nothing else matters

ЧОВЕК,КОЙТО ОБИЧА МУЗИКАТА, НИКОГА НЯМА ДА БЪДЕ НАПЪЛНО НЕЩАСТЕН !
0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login