Автор Тема: Проблем със списък  (Прочетена 1301 пъти)

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

benjikt

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 105
Проблем със списък
« -: 15 Юни 2014, 21:35:48 »
Пак съм аз и пак с моя списък >:( това е самия спъсък
struct toto {
int chislo;
int br;
toto *next;
};
а това е функцията която НЕ работи и НЕ знам защо
void misla(int n, int x[], Point P){
     for(int i=0; i<= n-1; i++)
     {cout << "Vavedi chislo: ";
     cin >> x[i];
     while (P) {
           if(P->chislo == x[i]){
           P->br++;
           }     
     P = P->next;

     }
     }

}
тази функция трябва да въвежда един масив от 6 числа и при въвеждане да увеличава P->br със едно при даденото число, до въвеждането стигнах ама немога да направя правилния цикъл чрез който да обходя целия списък да намеря числото което я равно на въведеното в момента и да увелича P->br със 1.
Благодаря предварително.
ПСС: Тая проверка if(P->chislo == x[i]) го пробвах по всички начини по които се сетих и не става а предполагам, че от там идва проблема.
« Последна редакция: 15 Юни 2014, 21:37:49 от benjikt »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: Проблем със списък
« Отговор #1 -: 15 Юни 2014, 23:16:56 »
То аз в тоя код не виждам никъде да казваш променливата chislo на колко да е равна.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

benjikt

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 105
Re: Проблем със списък
« Отговор #2 -: 16 Юни 2014, 14:05:53 »
Ами в самия иф ... проверявам дали е равно на въведеното число и така

kjufte

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 1
  • -Получени: 51
  • Публикации: 308
Re: Проблем със списък
« Отговор #3 -: 16 Юни 2014, 20:58:06 »
Я обясни като хората какво точно искаш да правиш в тази функция.
Защо подаваш на функцията масив и Point? Искаш тази функция да пълни масива ли, да променя поинта ли, или какво точно искаш?
За да променяш даден елемент и той да си остане променен след като излезеш от функцията трябва да подаваш указател (pointer) към елемента. Същото важи и за масива.
А и дето Avalanche те е питал изобщо този списък създал ли си го? Имаш ли елементи създадени,че да обхождаш и сравняваш?
« Последна редакция: 16 Юни 2014, 21:05:29 от kjufte »