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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Помощ с края на програма С++

Featured Replies

Колеги немога я довърша, някой може ли да ми помогне

 
#include <stdio.h>
#define M 50
 
void main()
{
float a[M], max;
    int i, m ;
 
 
//Въвеждане на броят м
 
do
{ printf("broi m > 10 && m < 50 " );
scanf("%d",&m); 
 
} while ( m < 10 && m > 50 );
 
//Въвеждане на числата в масива
 
printf("Vavedi %d chislata:\n",m);
 
for ( i = 0; i < m; i++)
{ printf(" element %d = ", i+1);
scanf("%f",&a);
}
 
}
// Търсене на max и nom 

post-361334-0-40192700-1441910609_thumb.

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

#include <climits>

 

int max = INT_MIN;

int index_min=-1;

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

   if (max<a)

   {

      index_min = i;

      max = a;

    }

 

//Така се намира максимума.

 

int min = INT_MAX;

int index_max = -1;

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

   if (min>a)

   {

     index_max = i;

     min = a;

   }

 

//А така минимума.

 

if (index_min<index_max)

{

    int avg=0;

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

    {

        avg+=a;

    }

     avg/=(m*1.0)

}

 

//Средно аритметично

 

if (index_max< index_min)

{

    unsigned long sum=0;

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

        sum+=(a*a);

}

 

//Сумата на квадратите

 

int pol[m/2+1];

int j=0;

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

  if(i%2!=0 && a>0)

      pol[j++]=m;

 

//Последната тъпотия

 

//Чакам почерпка :)

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

//Чакам почерпка :)

пропорционално на грешките ти ли?

Средноаритметичното го делиш на float, но го приравняваш на себе си, а то е цяло.

и как го компилираш съответно, като пробваш да индексираш цяло число на последния ред. (m)?

П.П. Алгоритмите за мин/макс с гранични константи са кофти практика.

пропорционално на грешките ти ли?

 

 

Те са за достоверност  :hush:

 

Иначе кога ще повярва даскалицата, че някой дето представата му за "програмиране" е да напуска един куп теми

е написал програма без нито една грешка - ами никога.

flare, не ползвах компилатор. Директно писах програмата във форума, даже не я прегледах, за да видя какви елементарни грешки съм допуснал.

 

go6o8804, извинявай ако съм те подвел...

 

Какво може да се обърка в това което съм написал за min и max?

 

Сега видях,  че ако в масива "а" при търсене на минимум, има само елементи равни на 

INT_MAX, индексът index_min, ще си остане -1. При търсене на максимум се получава същото, ако в "а" има само INT_MIN.

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

Какво може да се обърка в това което съм написал за min и max?

Не съм казал, че може да се обърка, (макар че ако всички елементи са равни на граничната константа индекса ще ти е грешен) а че е лоша практика.

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

И тогава логичният въпрос е тогава защо да го правим? Защо направо не инициализираме резултата с първата стойност и продължим сравнението оттам нататък? При това, така направено ще работи за всички възможни масиви за които имаме дефинирано сравнение на елементите, дори и да не ни е известна гранична стойност. Примерно ако не сравняваме числа или пък примерно в python където дългите цели числа нямат твърди граници...

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

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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