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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Помощ по С#

Featured Replies

Стигнах до тези 2 задания и доста ме затрудняват, ако някой може да ми покаже как бих могъл да го реализирам ще съм благодарен

ето двете задания които ме затрудняват:
1- Да се намери най-често срещаният символ в всеки един от масивите и в 2 та общо (в масива има сели числа Пример: {4,6,79,9,2}и трябва да намеря най-често срещаната цифра -> за примера това е цифрата 9; посъветваха ме да използвам itoa функция, но не знам как да го направя) Ако можете да ми допълните програмата ще съм Ви благодарен  :)

2- Да се състави меню от което потребителя да избира дали да въвежда масив или да използва вече въведен такъв (прочетен от файл)

Ето и началния код, който е налице :)

#include 
#include 

//prototipi
void input(int a[],int n);
void output(int a[],int n);
void fillArrays(); //palni masivite

int a[15];

int *arrayOne; //Masiv 1 pointer
int *arrayTwo; //Masiv 2 pointer

int arrayOneSize = 0; // broqch x<0, i sa na chetna poziciq i se delqt tochno na 3
int arrayTwoSize = 0; // broqch x>0, delqt tochno na 7

int main()
{

printf("Vuvejdane na masiva:n");
input(a,15);
printf("n");
printf("Izvejdane na masiva:n");
output(a,15);

// suzdavame masivite
arrayOne = (int *) malloc (sizeof (int) * arrayOneSize);
arrayTwo = (int *) malloc (sizeof (int) * arrayTwoSize);

if (arrayOne == NULL) exit(1);
if (arrayTwo == NULL) exit(1);

fillArrays();
printf("n");
printf("Izvejdane na masiva ot chisla za uslovie 1:n");
output(arrayOne,arrayOneSize);
printf("n");
printf("Izvejdane na masiva ot chisla za uslovie 2:n");
output(arrayTwo,arrayTwoSize);

return 0;
}

//////////////////////////////////////////
void input(int a[],int n)
{
int i;

for(i=0;i0 && a%7==0)
{
arrayTwoSize++;
}
}
}
//////////////////////////////////////////
void output(int a[],int n)
{
int i;
for(i=0;i0 && a%7==0)
{
arrayTwo[arrayTwoindex++]=a;
}
}

}
////////////////////////////////////////
  • [*]
Отговор [*]Докладвай
 
[*] 

Нещо си се объркал доста:

1.Това не е Си Шарп, a C код.

2. Началния код си го копирал от някъде и при това грешно и непълно. Не прави нищо общо с това което ти имаш.

  • Автор

На С е ДА и НЕ съм го копирал от никъде .... Писал съм го и няма нищо общо с условията, за който питам, този код е 1вата част на програмата .... че се въвежда масив и се сортира в нови 2 масива според 2 условия :! Не ми е ясно как ще продължа натам ( с тези 2 условия по горе, затова писах за помощ ) Ако все още не ти е ясно нещо питай ... :ph34r: ПС: Началния код си работи перфектно ! ПС: Моя грешка е, че съм сложил това #, кода е на С и трябва да е на С - Извинявам се :)

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

Ако все още не ти е ясно нещо питай ... :ph34r:
О, всичко ми е ясно вече.
.. ПС: Началния код си работи перфектно !
Може, ако началния ти код не е този, който си пуснал тук - той купчина синтактични грешки, като непълни директиви, недефинирани променливи и функция, излишни скоби... Не мисля да почвам с логическите изобщо.
  • Автор
О, всичко ми е ясно вече.Може, ако началния ти код не е този, който си пуснал тук - той купчина синтактични грешки, като непълни директиви, недефинирани променливи и функция, излишни скоби... Не мисля да почвам с логическите изобщо.

..... За първа година уча С, да не кажа и програмиране ... извинявай, че не е перфектно ..Аз моля за помощ, защото не ми е ясно, а не защото всичко ми е на 6.. Програмата не знам колко грешки и т.н има до момента но това което се иска да го прави го прави. Покажете ми ако обичате или ме насочи как да я завърша, а не да ми подмятате само някакви клишета. Много ясно че не е перфектна след като съм начинаещ, но работи според това което искам да прави.  ПС: Ако може критиките Ви да ги придружите със реална реализация или насоки за по добра работа, които да ми помогнат да завърша програмата !

..... За първа година уча С, да не кажа и програмиране ... извинявай, че не е перфектно ..Аз моля за помощ, защото не ми е ясно, а не защото всичко ми е на 6.. Програмата не знам колко грешки и т.н има до момента но това което се иска да го прави го прави. Покажете ми ако обичате или ме насочи как да я завърша, а не да ми подмятате само някакви клишета.

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

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

ПС: Ако може критиките Ви да ги придружите със реална реализация или насоки за по добра работа, които да ми помогнат да завърша програмата !

Въпросът изобщо не е за перфектност, а за елементарно уважение към помагащите ви - казвате че сте чели форума и раздела, но спазихте ли нещо от това, което препоръчвам щом се обърнахте директно към мен?

Ще получите конкретни указания, когато постнете програма, която сте пробвали да компилирате, да оправите каквито грешки можете и зададете конкретен въпрос, по публикувания от вас код. Както е до момента, темата за мен е в графа "напишете ми наготово домашната" - защото програмата ви не трябва да се допълва, а да се пренапише.

 

Ако искате да започнем отначало.

Пуснете програмата през някой компилатор/IDE, вижте какви грешки дава, опитайте се да ги поправите и ако/когато стигнете до проблем който не ви е по силите, поствате кода пак (ако може използвайки тага CODE) и коментар от рода на: "на ред еди-кой-си ми дава грешка еди-каква-си - опитах това и това и нищо не помага" или "функцията input, която трябва да ми въвежда масива не работи правилно - очаквах да прави това, а прави онова." С удоволствие отговарям на такива въпроси.

  • Автор

Не разбирам от компилатори, пък да не говоря за разликата между тях. 
Съжалявам за неудобните изказвания, но при мен програмата така написана тръгва без никакви проблеми ;X
Използвам Visual Studio 6 ... 

hmm, moq greshka izvinqvam se bixte li opitali s tozi kod (vazmojno e da sam go obarkal)



#include <stdio.h>
#include <stdlib.h>
 
//prototipi
void input(int a[],int n);
void output(int a[],int n);
void fillArrays();
 
int a[15];
 
int *arrayOne;
int *arrayTwo;
 
int arrayOneSize = 0; // broqch x<0, i sa na chetna poziciq i se delqt tochno na 3
int arrayTwoSize = 0; // broqch x>0, delqt tochno na 7
 
int main()
{
 
printf("Vuvejdane na masiva:n");
input(a,15);
printf("n");
printf("Izvejdane na masiva:n");
output(a,15);
 
// suzdavame masivite
arrayOne = (int *) malloc (sizeof (int) * arrayOneSize);
arrayTwo = (int *) malloc (sizeof (int) * arrayTwoSize);
 
if (arrayOne == NULL) exit(1);
if (arrayTwo == NULL) exit(1);
 
fillArrays();
printf("n");
printf("Izvejdane na masiva ot chisla za uslovie 1:n");
output(arrayOne,arrayOneSize);
printf("n");
printf("Izvejdane na masiva ot chisla za uslovie 2:n");
output(arrayTwo,arrayTwoSize);
 
return 0;
}
 
//////////////////////////////////////////
void input(int a[],int n)
{
int i;
 
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a);
 
if(i%2==0 && a<0 && a%3==0)
{
arrayOneSize++;
}
else if(a>0 && a%7==0)
{
arrayTwoSize++;
}
}
}
//////////////////////////////////////////
void output(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("a[%d]=%dn",i,a);
}
/////////////////////////////////////////
void fillArrays()
{
int i;
int arrayOneindex=0;
int arrayTwoindex=0;
 
for(i=0;i<15;i++)
{
if(i%2==0 && a<0 && a%3==0)
{
arrayOne[arrayOneindex++]=a;
}
else if(a>0 && a%7==0)
{
arrayTwo[arrayTwoindex++]=a;
}
}

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

Ок, значи за намиране на най-често срещаната цифра. Тъй като цифрите са само 10, правиш си един масив с 10 елемента и ги инициализираш на 0. там ще попълваме колко цифри сме намерили до момента. как се разбива число на цифри - с itoa може, но не ми харесва. По добрият вариант е с комбинации от делене и остатък на 10. т.е ако имаме цяло число number и масива ти се казва digit_count:

do{    digit_count[number%10]++; // остатъкът от деление на 10 е последната цифра на числото    number /= 10              // целочисленото делене на десет премахва последната цифра} while (number);             // докато има още цифри.
Това ще ти преброи цифрите в едно число - трябва да го извикаш за всяко въведено. Накрая в масива digit_count ще са ти бройките на всяка цифра. намираш му максимума и го печаташ. менюто си го изпечатваш, караш потребителя да ти въведе избор и в зависимост от него или викаш input или друга функция която ще си направиш, която да чете от файл.

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

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

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

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

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

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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