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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Курсова работа

Featured Replies

Здравейте, някои може ли да ми помогне с откриването на грешките на тази задача?

Задачата е следната:

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

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

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

3.Изчисляване на сумата на различните от нула числа и броя на нулевите числа в масива;

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

5.Извеждане на екран на резултатите от съответното изчисляване, както и на въведените числа в масива (с подходящи текстове).

#include<iostream>
using namespace std;

const int L=30;
int F[L];
int N;


void input()
{
int i;
        do
        {
                cout<<"Vavedete razmernost na masiva ne poveche ot 30"<<endl;
                cin>>N;
        }
        while(N<1||N>30);

        for(i=0;i<N;N++);
        {
                cout<<"Vavedete element na masiv"<<i+1<<endl;
                cin>>F;
        }
    
}
void average() 
{int sum; 
int m,i; 
int br=0; 
for(i=0;i<N;i++) 
m=F%6; 
if(m==0); 
sum+=F; 
br++; 
cout<<"Sredno aritmetichnoto na chislata v masiva koito se delqt bez ostatuk na 6"<<sum/br<<endl; 

void sum0() 

int i; 
int sum; 
int br=0; 
for(i=0;i<N;i++); 
if(F!=0) 
sum+=F; 
else 
br++; 
cout<<"Sumata na razlichnite chisla ot nula"<<sum<<endl; 
cout<<"Broq na nulevite chisla v masiva e "<<br<<endl; 

void maxn() 
{ double max; 
int i; 
int n; 
for(i=0;i<N;i++); 
if(F>0&&max>F); 
{max=F; 
n=i; 

cout<<"Maximalnoto otricatelno chislo v masiva e"<<max<<endl; 
cout<<"Poredniqt mu nomer e"<<n<<endl; 

void menu()
{
    int izbor;
    do{
        cout<<"1.Vavejdane na razmernost na masiva i negovite stoinosti"<<endl;
        cout<<"2.Izchislqvane na sredno aritmetichno ot chislata ,koito se delqt bez ostatuk na 6"<<endl;
        cout<<"3.Izchislqvane na sumata na razlichnite ot nula chislq i broq na nulevite chisla"<<endl;
        cout<<"4.Namirane na maksimalnoto polojitelno chislo i negoviqt poreden nomer"<<endl;
        cout<<"5.Krai na programata"<<endl;
        cin>>izbor;
        while((izbor<1)||(izbor>5))
        switch(izbor)
        {
            case 1:
             cout<<"Vavejdane na chisla:"<<endl;
            input();
 
            case 2:
            cout<<"Sredno aritmetichno na chislata koito se delqt bez ostatuk na 6"<<endl;
            average();
 
            case 3:
            cout<<"Sumata na razlichnite ot nula chislq i broq na nulite:"<<endl;
            sum0();
 
            case 4:cout<<"Maksimalnoto otricatelno chislo i negoviq nomer"<<endl;
            maxn();
            case 5: cout<<"Krai na programata"<<endl;
            return;
 
        }
    }while(1);
}
 
void main()
{
menu();
}

 

 
преди 5 часа, Aspire_bg написа:

Здравейте, някои може ли да ми помогне с откриването на грешките на тази задача?

Трябва да създадеш масив, чиято големина да е до 30 елемента, но да големината да се дефинира чрез въвеждане от клавиатурата?

Ясно..Явно само аз ще си говоря тук. Искате помощ, никаква реакция.

  • Автор
на 28.10.2017 г. в 0:09, simtech написа:

Трябва да създадеш масив, чиято големина да е до 30 елемента, но да големината да се дефинира чрез въвеждане от клавиатурата?

Да

преди 1 час, Aspire_bg написа:

Да

Вектори можете ли са ползвате? Май не..
Ще трябва да подаваш на функциите параметри. Не трябва да декларираш като глобална променлива масива.
Нито големината му. Това е грешка. Ще ти направя MAIN-а и 2 от функциите. Смятам нататък ще се оправиш.
А да направиш един switch съм сигурен, че можеш...
Помагам ти, защото си се опитал да напишеш нещо. Но нямам намерение да дебъгвам твоя код, защото е пълен с грешки и е труден за разбиране.
За максималното. Сравняваш първото с второто. Което е по-голямо записваш в помощна променлива MAX.
След това всяко следващо сравняваш с MAX. Ако е по-голямо, записваш него за MAX.
Примерно...

#include<iostream>
#include<math.h>
using namespace std;

int fillARRAY(int arr[],int l)
{
    int buf=0;
    int counter=0;
    for(int i=0; i<l; i++)
    {
        cout<<"Enter the value for cell:" <<counter<<endl;
        counter++;
        cin>>buf;
        arr[i]=buf;
    }
};
int showARRAY(int arr[], int l)
{
    cout<<"Now Displaying the ARRAY"<<endl;
    int counter=0;
    for(int i=0; i<l; i++)
    {
        cout<<"Displaying element"<<counter<<": ";
        cout<<arr[i]<<endl;
        counter++;
    }
}
int main()
{
    cout<<"Enter the length of the ARRAY"<<endl;
    int L=0;
    cin>>L;
    if(L<30)
    {
        int ARR[L];
        fillARRAY(ARR,L);
        showARRAY(ARR,L);
    }
    else
    {
        cout<<"Error! Invalid length of the ARRAY!"<<endl;
        cout<<"Returning to main!!"<<endl<<endl;
        main();
    }

};

 

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

  • Автор
преди 1 час, simtech написа:

#include<iostream> #include<math.h> using namespace std; int fillARRAY(int arr[],int l) { int buf=0; int counter=0; for(int i=0; i<l; i++) { cout<<"Enter the value for cell:" <<counter<<endl; counter++; cin>>buf; arr[i]=buf; } }; int showARRAY(int arr[], int l) { cout<<"Now Displaying the ARRAY"<<endl; int counter=0; for(int i=0; i<l; i++) { cout<<"Displaying element"<<counter<<": "; cout<<arr[i]<<endl; counter++; } } int main() { cout<<"Enter the length of the ARRAY"<<endl; int L=0; cin>>L; if(L<30) { int ARR[L]; fillARRAY(ARR,L); showARRAY(ARR,L); } else { cout<<"Error! Invalid length of the ARRAY!"<<endl; cout<<"Returning to main!!"<<endl<<endl; main(); } };

Благодаря много! 

преди 10 минути, Aspire_bg написа:

Благодаря много! 

Не ми  благодари, а прочети внимателно кода и го разбери. Ще си ми благодарил, ако съм ти помогнал нещо да научиш наистина.
А средно аритметичното е елементарно. Пускаш един цикъл for, една променлива Average=0 и събираш всеки i-ти елемент от масива с average. След това делиш на броя на елементите. Ще трябва за средно аритметичното пак да е с параметри.
В тая програма няма менюто. Него си го сложи сам в IF-а, като всеки case вика функция с параметри, както съм ги написал в main-а повикванията на 2-те функции.

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

  • 3 седмици по-късно...

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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