Премини към съдържанието

Препоръчан отговор


Проблема е следния, написах програма на езика C, но като дам компилирай ми дава грешката ([Error] 'else' without a previous 'if'), някой има ли идея как да се реши проблема?

#include<stdio.h>
#include<math.h>
int main()
{int x1,x2,y1,y2,z1,z2,k1,k2;
float a,b,c,d,e,f,h,max;
printf("wyvedete kordinatite na purva to4ka");
scanf("%d",&x1);
scanf("%d",&x2);
printf("wyvedete kordinatite na 2ra to4ka");
scanf("%d",&x1);
scanf("%d",&y2);
printf("wyvedete kordinatite na 3ta to4ka");
scanf("%d",&z1);
scanf("%d",&z2);
printf("wyvedete kordinatite na 4ta to4ka");
scanf("%d",&k1);
scanf("%d",&k2);
a=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
b=sqrt(x1-x2)*(x1-x2)+(z1-z2)*(z1-z2);
c=sqrt(x1-x2)*(x1-x2)+(k1-k2)*(k1-k2);
d=sqrt(z1-z2)*(z1-z2)+(y1-y2)*(y1-y2);
e=sqrt(z1-z2)*(z1-z2)+(x1-x2)*(x1-x2);
f=sqrt(z1-z2)*(z1-z2)+(k1-k2)*(k1-k2);
if(a>b&&a>c&&a>d&&a>e&&a>f);
{a=max;};
else(b>a&&b>c&&b>d&&b>e&&b>f&&b>h);
{b=max;};
else(c>a&&c>b&&c>d&&c>e&&e>f&&e>h);
{c=max;};
else (d>a&&d>b&&d>c&&d>e&&d>f&&d>h);
{d=max;};
else(e>a&&e>b&&e>c&&e>d&&e>f&&e>h);
{e=max;};
else(f>a&&f>b&&f>c&&f>d&&f>e&&f>h);
{f=max;};
else(h>a&&h>b&&h>c&&h>d&&h>e&&h>f);
{h=max;};
printf("Max=%f", max);
return 0;
}

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

Е то си пише. Имаш Else без IF. Тоест  не се получава IF LESE операторът. Така програмата няма да тръгне.

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

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ползваш 'else' вместо 'else if'. При много условия, изброени едно след друго, структурата ти трябва да е такава:

if (...) {
    
} else if (...) {
    
} else if (...) {
    
} else {
    
}

 

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 1 минута, killchain написа:

Ползваш 'else' вместо 'else if'. При много условия, изброени едно след друго, структурата ти трябва да е такава:


if (...) {
    
} else if (...) {
    
} else if (...) {
    
} else {
    
}

 

сега опитах по този начин но пак същата грешка :(

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)

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

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

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 1 минута, killchain написа:

Сега се загледах - не трябва да имаш точка и запетая след обикновените скоби за условието, което проверяваш (на няколко реда си наслагал такива).

и тази грешка оправих, но пак същото

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 13 минути, Mitko99 написа:

и тази грешка оправих, но пак същото

Да, защото имаш един ELSE в повече. Провери всичко внимателно.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Благодария ви момчета програмата тръгна, но каквито и ст-сти да въведя за a,b,c,d,e,f,h ми дава че max=0

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Никъде не даваш стойност на променливата, само си я инициализирал.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

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

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

  • Горещи теми в момента

  • Подобни теми

    • от m.dimitrov98
      Здравейте, имам ето това задание:
      Големи числа се наричат цели положителни числа с К цифри. Големите цели числа могат да се представят с помощта на линеен едносвързан списък, всеки елемент на който съдържа точно една цифра от числото. Дадени са две големи цели числа N1 и N2 (до 100 цифри). Да се напишат програмни фрагменти за :
                a. Представяне на числата чрез списъци;
                b. Сумиране на две големи цели числа.
      Бях го направил с две функции create1 и create2 и две променливи N1 и N2, но професорката иска да е само един и колкото числа искам да въведа толкова пъти да извикам един и същ create. Опитах по този начин но при започване на въвеждането на второто число програмата блокира. Бих бил благодарен ако някой помогне.
      Ето и до къде съм стигнал.
       
       
      #include <iostream> using namespace std; struct chislo{ int N; chislo* next; }; typedef chislo* Point; Point Head; void Create(Point &Head) { Point Last, P; Last=NULL; int brc=0; int br=0; cout<<"Колко цифри ще е числото?: "; cin>>br; while (brc != br) { P = new chislo; brc++; cout << brc <<" цифра на числото: "; cin >> P->N; P->next=NULL; if (Head == NULL) Head = P; else Last->next = P; Last = P; } } void Traverse(Point P){ cout<<"Числото е:"; while (P !=NULL) { cout<<P->N; P = P->next; } cout<<endl; } int main() { system("chcp 1251"); Point Head = NULL; Create(Head); Create(Head); Traverse(Head); Traverse(Head); }  
    • от Магдаленаг
      If smb has time to spare please I'd would be very greatful :))
      Дадена е следната класификация:
                                      __________             
                            _______|__________|
      Медицина-|   
                           |          __________             
                           |________|__________|                
      Класификацията да се продължи поне на още две нива. Да се състави йерархия от класове, отразяваща класификацията. Да се декларират съответните класове.
      Да се дефинира виртуална функция, която извежда характеристиките на обект от всеки клас на йерархията. Във функцията main да се изгради масив от обекти от произволни класове в йерархията. Да се разработи функция, която обхожда масива и извежда информация за признаците на включените в него обекти.
      Декларациите на всеки клас от йерархията да бъдат оформени в отделни заглавни (.h) файлове. Дефинициите на всеки клас и функцията “main” да бъдат оформени в отделни модули (.cpp файлове).  Във всички файлове, съдържащи дефинициите на класовете и функцията “main”, чрез директивата #include да се включат съответните заглавни файлове, съдържащи декларациите на класовете. Да се създаде проект, състоящ се от създадените модули.
      Обяснителната записка съдържа заданието, пълно описание на декларираните класове, алгоритми и листинги на модулите.
       
    • от barry
      Здравейте,
      имам един масив от цели числа
      int a[] = {1, 2, 3, 4, 5, 6}; а израза
      (1 + 3)[a] - a[0] + (a + 1)[2] е равен на 8. По принцип i-тия елемент на масива е
      a[i] или *(a+i) но не разбирам другите две конструкции. Може ли някой да обясни как се изчисляват те?
      Благодаря предварително.
    • от martin stoqnov
      Здравейте!от скоро се занимавам с онлайн симулатор на ардуино "Tinkercad" ,но имам някой проблеми с логическото изпълнение на кодовете.
      ето и част от първият 
       if (digitalRead(Zaqvka2) == HIGH)
      {
      switch (i){
      case 0:
      digitalWrite(Up,HIGH);
      digitalWrite(Fast,HIGH);}
      }                                                     тук проблема идва от това, че без да е изпълнено условието за If (zaqvka da e HIGH)   се изпълнява оператора switch ?!?
      друг проблем който срещнах е  ,че когато не е изпълнено условие за if  не се изпълнява else частта. 
      Ще се радвам ако някой сподели дали е имал проблем с средата и да каже този код дали върви нормално в реални условия с контролер и др-те физически елементи.
      Започвам да си мисля, че средата е боза ?!?
       

    • от monka987
      Моля някой да ми помогне.
      Зададен е едномерен масив от цели числа А0, А1,… . Да се състави програма, която създава нов масив а0,а1,…, като стойността на аi е равна на средноаритметичното на четните цифри на Аi.В програмата да се използват динамични масиви.
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.