Автор Тема: Помощ за задача на C++ масиви  (Прочетена 2839 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

traqnvvv

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Помощ за задача на C++ масиви
« -: 31 Май 2010, 16:29:22 »
Моля за помощ,тези които са компетентни.Не изкам да преписвам изкам да разбера смисъла и логиката на задачата.


3. Даден е масив от дробни числа. Да се състави и изведе на екрана друг масив, съдържащ
индексите на всички елементи, които са различни от най-големия елемент на масива.

Ако имате време помогнете.

Работим на DEV++
Код: C++
  1. //Program Zad3.cpp
  2. # include <iostream>
  3. using namespace std;
  4. int main ()
  5. {
  6.         double x[10];
  7.         cout<<  " n=  " ;
  8.         int n;
  9.         cin>>n;
  10.         if (!cin)
  11.         {
  12.                 cout<< " Error.Bad inprut!\\n " ;
  13.                 return 1;
  14.         }
  15.         if (n<1||n>10)
  16.         {
  17.                 cout<< " Incorrect input!\\n " ;
  18.                 return 1;
  19.         }
  20.        
  21.        
  22.         for (int i=0; i<=n-1;i++)
  23.         {
  24.                 cin>>x[i];
  25.                 if (!cin)
  26.                 {
  27.                         cout<< " Error.Bad Input!\\n " ;
  28.                         return 1
  29.         }
  30.        
  31.                
  32.                 system ( " pause " )
  33.                 return 0;
  34. }
« Последна редакция: 23 Август 2015, 12:49:27 от Avalanche »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Отг: Помощ за задача на C++ масиви
« Отговор #1 -: 31 Май 2010, 22:11:06 »
Аз честно не схванах условието ти какво значи всички елементи които са различни от най големия? Ако сортираш масива то всички освен най големия са различни ако не са равни де! я пак обясни?
« Последна редакция: 23 Август 2015, 12:48:08 от Avalanche »
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

borovaka

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 1
  • -Получени: 48
  • Публикации: 906
Отг: Помощ за задача на C++ масиви
« Отговор #2 -: 31 Май 2010, 22:17:07 »
Аз пък не схванах какво е това решение което си дал. Ти само въвеждаш стойности в масива и нищо друго не правиш.
И какво по-точно искаш да съдържа втория масив стойностите който са различни от най-голяма от първия или номера им в масива?
« Последна редакция: 23 Август 2015, 12:48:34 от Avalanche »
Та извода е прост: "Колкото по-големи ла*ната - толкова по-малка щетата! ... моралната де, не материалната"

borovaka

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 1
  • -Получени: 48
  • Публикации: 906
Отг: Помощ за задача на C++ масиви
« Отговор #3 -: 31 Май 2010, 23:23:07 »
Ето едно решение което направих. Въвежда масив1, след това намира най-голямата стойност, прехвърля всички резултати които са различни от най-голямата стойност в масив2 и извежда втория масив. Само не разбирам защо за това действие е указано използването на два масива:)


Код: C++
  1. /*
  2.  * File:   main.cpp
  3.  * Author: borislav
  4.  *
  5.  * Created on May 31, 2010, 5:32 PM
  6.  */
  7.  
  8. #include <stdlib.h>
  9. #include <iostream>
  10. #include <iomanip>
  11. using namespace std;
  12.  
  13. /*
  14.  *
  15.  */
  16. int main() {
  17.     // definirane na izgleda na drobnite 4isla
  18.     cout << setprecision(3) << setiosflags(ios::fixed);
  19.     //broi na elementite v masiva
  20.     int const MSIZE=5;
  21.    
  22.     //vyvejdane na masiv 1
  23.  
  24.     double mas1[MSIZE];
  25.  
  26.     for (int i=0; i<=MSIZE-1; i++)
  27.     {
  28.         cout <<  " Vyvedete element "  << i+1 <<  " > " ; //i+1 e za da izglejda po-dobre :)
  29.         cin >> mas1[i];
  30.     }
  31.  
  32.     //namirane maksimalna stoinost
  33.  
  34.     double max; //promenliva sydyrva6ta maksimalnata stoinost
  35.  
  36.     for (int i=0; i<=MSIZE-1; i++)
  37.     {
  38.         if (mas1[i]>max) max=mas1[i];
  39.     }
  40.  
  41.     //vyvejdane na stoinostite !=max v masiv 2
  42.  
  43.     double mas2[MSIZE-1]; // po-malyk s 1 ot pyrviq
  44.    
  45.     int br=0; //pomo6ten broq4 za vyvejdane na masiv masiv2
  46.  
  47.     for (int i=0; i<=MSIZE-1; i++)
  48.     {
  49.         if (mas1[i] != max)
  50.        
  51.         {
  52.             mas2[br]=mas1[i];
  53.             br++;
  54.         }
  55.     }
  56.  
  57.     //izvejdane na masiv2
  58.    
  59.     for (int i=0; i<=MSIZE-2; i++)
  60.     {
  61.       cout << mas2[i] << " \\n " ;
  62.  
  63.     }
  64.  
  65.  
  66.  
  67.  
  68.     return 0;
  69. }

Има какво да се желае още примерно входни проверки на cin и описване на действие ако се среща два пъти еднакъв най-висок резултат обаче принципа е такъв.
п.с. Започнах да се занимавам със С++ скоро ако има някой по-вещ който вижда грешка моля да сподели.
« Последна редакция: 23 Август 2015, 12:48:28 от Avalanche »
Та извода е прост: "Колкото по-големи ла*ната - толкова по-малка щетата! ... моралната де, не материалната"

traqnvvv

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Отг: Помощ за задача на C++ масиви
« Отговор #4 -: 01 Юни 2010, 09:09:26 »
мерси за помоща.И аз ще помагам но след време.
« Последна редакция: 23 Август 2015, 12:48:39 от Avalanche »

benjikt

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 105
Отг: Помощ за задача на C++ масиви
« Отговор #5 -: 12 Януари 2011, 18:19:47 »
само аз ли не виждам зададени библиотеки в началото?
« Последна редакция: 23 Август 2015, 12:48:43 от Avalanche »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Отг: Помощ за задача на C++ масиви
« Отговор #6 -: 12 Януари 2011, 19:50:41 »
От юни до сега ?!
« Последна редакция: 23 Август 2015, 12:48:48 от Avalanche »
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width: