BG Development


  Reply to this topicStart new topicStart Poll

> Помощ със една изпитна задача
Lathezar
Публикувано на: 11-02-2018, 12:27
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 11.02.18



Започнал съм да решавам изпитите по информатика от ПУ и тн. но ударих на камък със една задача. Сравнително лесна (за вас), но малко объркваща за начинаещ.

Изпитна задача
Това е задачата

до момента съм стигнал до тук.

CODE
//zad_izpit.cpp

#include <iostream>
#include <string>
using namespace std;

int main()
{
   int FN[1000];
   int n;
   
   std::string AA,BB,CC,D,EEE;
   
   cout<<"Broj na uchenici:";
   cin>>n;
   
   for(int i=0;i<n;i++)
   {
       cout<<" Poseldnite 2 chisla ot godinata na rajdane: ";
       cin>>AA;
       cout<<"Nomer na Fakulteta: ";
       cin>>BB;
       cout<<"Nomer na Specialnost: ";
       cin>>CC;
       cout<<"Vid na obuchenie(zadochno -1 | redovno - 2): ";
       cin>>D;
       cout<<"EGN (posledni 3 nomera): ";
       cin>>EEE;
       
       int convAA = std::stoi(AA);
       int convBB = std::stoi(BB);
       int convCC = std::stoi(CC);
       int convD = std::stoi(D);
       int convEEE = std::stoi(EEE);
       
       FN[i] = convAA*100000000 + convBB*1000000 + convCC*10000 + convD*1000 + convEEE;
       
   }
   
   for(int i=0; i<n; i++)
   {
       
       if(FN[i]/100000000>=00 or FN[i]/100000000=99 or FN[i]/100000000<=09)
       {
       
           for(int i=0;i<n;i++)
           {
               for(int j=0;j<n;j++)
               {  
                   if(FN[j]/1000000>FN[j+1]/1000000)
                   {
                       int tmp = FN[j];
                       FN[j] = FN[j+1];
                       FN[j+1] = tmp;
                   }
                   if(FN[j]/1000000==FN[j+1]/1000000)
                   {
                       int temp = FN[j];
                       FN[j] = FN[j+1];
                       FN[j+1] = temp;
                   }
               }
           }
           cout<<FN[i];
       }
   
   }
   
   
   
   return 0;
}


Доста неща са грешни, но не съм много сигурен как да ги оправя.

Като за начало вторият цикъл за сортиране мисля че ми е грешен, но не съм сигурен

Първата проверка със if пък ми е изкарана не знам от къде но тя е грешна 100/100

Също и не съм сигурен дали този начин на преобразуване на string в int със stoi е възможен.

Благодаря за вниманието и помощта.
PMEmail Poster
Top
SuN
Публикувано на: 12-02-2018, 10:43
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 6333
Регистриран на: 27.01.05



Успя ли да компилираш програмата?

http://forums.bgdev.org/index.php?showtopic=13458

Това мнение е било редактирано от SuN на 12-02-2018, 10:44


--------------------
Копирай лесно ударено и - ѝ Ѝ
Замърсяване на въздуха в София - http://aqicn.org/city/bulgaria/sofia/druzhba/
PMEmail Poster
Top
Lathezar
Публикувано на: 12-02-2018, 14:07
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 11.02.18



QUOTE (SuN @ 12-02-2018, 10:43)
Успя ли да компилираш програмата?

http://forums.bgdev.org/index.php?showtopic=13458

Използвам CodeBlocks и не успях да компилирам заради stoi. Казва че не е member в std.

По други форуми чета че може директно да се използва за преобразуване то string в int, защото е вградена функция в std
PMEmail Poster
Top
dvader
Публикувано на: 12-02-2018, 15:22
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 4024
Регистриран на: 12.07.05



QUOTE (Lathezar @ 12-02-2018, 14:07)
По други форуми чета че може директно да се използва за преобразуване то string в int, защото е вградена функция в std

ами включи си функциите на стд:
#include <functions>


--------------------
I find your lack of faith disturbing
PM
Top
Lathezar
Публикувано на: 13-02-2018, 10:08
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 11.02.18



QUOTE (dvader @ 12-02-2018, 15:22)
QUOTE (Lathezar @ 12-02-2018, 14:07)
По други форуми чета че може директно да се използва за преобразуване то string в int, защото е вградена функция в std

ами включи си функциите на стд:
#include <functions>

fatal error: Functions: No such file or directory

Да не би трябвало да е #include <functional>

Това мнение е било редактирано от Lathezar на 13-02-2018, 10:17
PMEmail Poster
Top
Lathezar
Публикувано на: 13-02-2018, 10:11
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 11.02.18



Малко по до обработих задачата и пооправих някои от ifовете и в момента съм до тук:

CODE

//zad_izpit.cpp

#include <iostream>
#include <string>
using namespace std;

int main()
{
  int FN[1000];
  int n;
 
  std::string AA,BB,CC,D,EEE;
 
  cout<<"Broj na uchenici:";
  cin>>n;
 
  for(int i=0;i<n;i++)
  {
      cout<<" Poseldnite 2 chisla ot godinata na rajdane: ";
      cin>>AA;
      cout<<"Nomer na Fakulteta: ";
      cin>>BB;
      cout<<"Nomer na Specialnost: ";
      cin>>CC;
      cout<<"Vid na obuchenie(zadochno -1 | redovno - 2): ";
      cin>>D;
      cout<<"EGN (posledni 3 nomera): ";
      cin>>EEE;
     
      int convAA = std::stoi(AA);
      int convBB = std::stoi(BB);
      int convCC = std::stoi(CC);
      int convD = std::stoi(D);
      int convEEE = std::stoi(EEE);
     
      FN[i] = convAA*100000000 + convBB*1000000 + convCC*10000 + convD*1000 + convEEE;
     
  }
 
  for(int i=0; i<n; i++)
  {
     
      if(FN[i]/100000000>=00 or FN[i]/100000000=99 or FN[i]/100000000<=09)
      {
     
          for(int i=0;i<n;i++)
          {
              for(int j=0;j<n;j++)
              {  
                  if(FN[j]/1000000>FN[j+1]/1000000)
                  {
                      int tmp = FN[j];
                      FN[j] = FN[j+1];
                      FN[j+1] = tmp;
                  }
                  if(FN[j]/1000000==FN[j+1]/1000000)
                  {
                      if(FN[j]%1000!=FN[j+1]%1000)
                      {
                       int temp = FN[j];
                       FN[j] = FN[j+1];
                       FN[j+1] = temp;
                      }
                      else
                      {
                       int temp = FN[j];
                       FN[j] = FN[j+1];
                       FN[j+1] = temp;
                      }
                  }
              }
          }
          cout<<FN[i];
      }
 
  }
 
 
 
  return 0;
}


Все още не иска да се компилира заради stoi.
PMEmail Poster
Top
dvader
Публикувано на: 13-02-2018, 10:18
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 4024
Регистриран на: 12.07.05



QUOTE (Lathezar @ 13-02-2018, 10:08)
fatal error: Functions: No such file or directory

Blah, глупости приказвам icon_sad.gif
то си е в <string>
А и не ти е там грешката, що ли те слушам...


--------------------
I find your lack of faith disturbing
PM
Top
miron
Публикувано на: 13-02-2018, 10:27
Quote Post



Име: Мирослав Николов
Група: Потребител
Ранг: Старо куче

Мнения: 606
Регистриран на: 26.04.05



@Lathezar: Ако не можеш даже едно число да въведеш два дена, явно ти е рано за такива задачи. Наблегни на теорията. Може от сайтове като този, може от книги.
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0