Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

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

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

 

Блок схема

Featured Replies

Здравейте! Моля някои да ми помогне за блок схема по задача на C++. Спешно ми трябва за утре. Благодаря предварително!!!

А ето и задачата :

#include <iostream>

using namespace std;

 

int main(int argc, char** argv) {

int m=7;

int n=5;

int a[m][n];

// въвеждане на ст-стите на масива

for (int i=0; i<m; i++)

for (int j=0; j<n; j++)

{ cout << "input array element a[" <<i+1<<","<<j+1<&lt]:"<< endl;

cin >> a[j];

  }

// Контролно извеждане на не наредения масив

int i=0;

int j=0;

do

{ do

  {cout << "-> a[" <<i+1<<","<<j+1<&lt]= "<<a[j];

  j++;}

  while (j<n);

  i++;j=0;

  cout << endl;}

while (i<m);

 

//Размяна на редовете

cout << endl;

int t;

for (int i=0;i<=n-1;i++)   //for (int i=0;i<=m;i++)

{for (int j=0;j<(m-1)/2;j++) //{for (int j=0;j<=(n-1)/2;j++)

  {

  cout << "a[" <<m-1-j<<","<<i<&lt]= "<<a[m-1-j]<<" <-> "<< "a[" <<j<<","<<i<<"]= "<<a[j]; cout << endl;

  t=a[j];   //   t=a[j];

  a[j]=a[m-1-j];   //   a[j]=a[n-1-j];

  a[m-1-j]=t;   //   a[n-1-j]=t;

  cout << "a[" <<m-1-j<<","<<i<&lt]= "<<a[m-1-j]<<" >-< "<< "a[" <<j<<","<<i<<"]= "<<a[j];

  cout << endl; cout << endl;

  }

}

 

// Контролно извеждане на наредения масив

cout << endl;

i=0;

j=0;

do

{ do

  {cout << "-> a[" <<i+1<<","<<j+1<&lt]= "<<a[j];

  j++;}

  while (j<n);

  i++;j=0;

 

а условието е 

Условие:  Двумерен масив с N реда и M стълба да се наредят редовете в обратен ред, като се запази разположението на елементите в реда. Да се изведе пренаредения масив.

Доста е омазан този код - мега трудно се чете, отделно дето има компилационни грешки. Ти ли си го писал или някой колега ти го е пратил?  Ако сам си писал задачата, съставянето на блок-схемата изобщо не трябва да те затруднява.

#include <iostream>using namespace std;// constantsconst int ROWS = 7;const int COLS = 5;// global variablesint sourceArray [ROWS][COLS];int reversedRowsArray[ROWS][COLS];int main(int argc, char** argv) {	// setting values for the source 2D array	for (int i = 0; i < ROWS; i++)	{		cout<<"Enter values for row "<<i<<"."<<endl;		for (int j = 0; j < COLS; j++)		{			cout<<"Enter the value of element No. "<<j<<" .> ";			cin>>sourceArray[i][j];		}	}	// displaying the source 2D array	cout<<"nThe source 2D array: "<<endl;	for (int i = 0; i < ROWS; i++)	{		for (int j = 0; j < COLS; j++)		{			cout<<sourceArray[i][j]<<" ";		}		cout<<endl;	}	// main program logic    for (int startIndex = 0, endIndex = ROWS - 1; // initializign loop variables		startIndex < ROWS, endIndex >= 0; // loop conditions		startIndex++, endIndex--) // incrementing/decrementing the loop variables	{		for (int j = 0; j < COLS; j++)		{			reversedRowsArray[startIndex][j] = sourceArray[endIndex][j];		}	}	// displaying the reversed rows 2D array	cout<<"nThe reversed rows 2D array: "<<endl;	for (int i = 0; i < ROWS; i++)	{		for (int j = 0; j < COLS; j++)		{			cout<<reversedRowsArray[i][j]<<" ";		}		cout<<endl;	}   system("pause");}

Компилирай тази програма и си я разцъкай. Написах ти няколко основни коментара. Според мен е доста по-разбираемо от това, което са ти пратили. Използвам два масива - оригинален и празен със същите размери, в който се записват стойностите на оригиналния, но с редове в обратен ред. Направил съм основната логика на програмата като сложен for цикъл с по две променливи и две условия. 

  • 1 година по-късно...

Здравейте можете ли да  ми помогнете за блок схема


#include <iostream>

void main()
{
        int i; 
int m = 0;
static bool warning = false;
do
{
if (warning)
std::cout << "You entered a bad value. Give it another go." << std::endl;
std::cout << "Enter a value for m, where 10 < m < 50. " << std::endl;
std::cout << "m = ";
std::cin >> m;
warning = true;
} while ( !(m > 10 && m < 50) );


double * values = new double[m];


std::cout << "Your array of " << m << " elements is created. Please enter a value for each element:" << std::endl;


int imin = -1, imax = -1;
for ( i = 0; i < m; i++)
{
std::cout << "Element " << i << " = ";
std::cin >> values[i];


if (imin >= 0)
{
if (values[i] < values[imin]) imin = i;
} 
else imin = i;


if (imax >= 0)
{
if (values[i] > values[imax]) imax = i;
}
else imax = i;
}


if (imin < imax)
{
double average = (values[imin] + values[imax]) / 2;
std::cout << "The average of " << values[imin] << " and " << values[imax] << " is " << average << std::endl;
}
else if (imin > imax)
{
double ssum = values[imin] * values[imin] + values[imax] * values[imax];
std::cout << "The sum of the squares of " << values[imin] << " and " << values[imax] << " is " << ssum << std::endl;
}


double * pol = new double[m / 2 + 1];
int polsize = 0;
for ( i = 1; i < m; i += 2)
{
if (values[i] > 0)
{
pol[polsize] = values[i];
polsize++;
}
}


std::cout << "AL:" << std::endl;
for ( i = 0; i < m; i++)
{
std::cout << "Element " << i << ": " << values[i] << std::endl;
}


std::cout << "POL:" << std::endl;
for ( i = 0; i < polsize; i++)
{
std::cout << "Element " << i << ": " << pol[i] << std::endl;
}


delete values, pol;
}

Редактирано от capnemo (преглед на промените)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.