Задача 1: Да се напише програма, която въвежда от клавиатурата цяло число 1<n<11, поредица от цели числа а0, а1......аn-1 и цяло число х. Програмата проверява дали х се съдържа в редицата и извежда подходящо съобщение (примерно ДА, НЕ).
Ако на някой ме му представлява проблем.. и ако може да има обяснение кво става на всеки ред.
Благодарим предварително )
Мога да ти напиша псевдокод, ако искаш, но не съм запозната със синтаксиса на C++.
Коя част от задачата те затруднява или не си чел изобщо по въпроса? Ако е второто, ти препоръчвам да го направиш. Задачката е лесна.
ми аз знам, че не е трудна но по мое време ни мъчиха с паскал.. ако беше на паскал щях да я направя.. но на братовчедката която сега е 10 клас учат Ц++, а от Ц нямам и понятие...
След като го учи в училище, би трябвало поне да е наясно със синтаксиса и може би я затруднява логиката в задачата? Поразгледай й учебниците/записките от часовете.
func containsX(){
n = read(); //чете се числото n
a[n]; //създава се масив с n елемента
for(i = 0; i < n; i++)
{
a[i] = read(); //четеш n поредни числа и ги запаметяваш в масива
}
x = read(); //четеш числото x
found = false; // булева променлива, обозначаваща дали сме намерили x в масива
for(i = 0; i < n; i++)
{
if(x == a[i]) // обхождаме масива и проверяваме всяка една стойност за равенство с x
{
found = true; // намерили сме числото, булевата променлива става със стойност true
break; // излизаме от цикъла, тъй като сме намерили числото
}
}
if(found == true)
{
print("YES"); // ако я има в масива, променливата е true и отпечатваме на екрана съобщение
}
else
{
print("NO"); // иначе отпечатваме, че не е намерена
}
}
#include<iostream.h>
void main()
{
int n,x;
int arr[10];
cout<<"broi elementi na masiva: ";
cin>>n;
for (int i=0;i<n;i++)
{
cout<<"Vavedete chislo za "<<i<<" : ";
cin>>arr;
}
cout<<"Masiva e vaveden uspeshno, vavedete chisloto x koeto ste tarsim w masiwa: ";
cin>>x;
for(i=0;i<n;i++)
{
if (x==arr)
{
cout<<"found"<<endl; return ;
}
}
cout<<"not found"<<endl;
admin написа:Ами то условието ти е такова: 1<n<11 т.е. максималния размер е 10
премести нот фоунд по надолу и махни елза и си готов.
т.е. може и да се зададе 7 като размер, а не 10.
С местене на нот фаунд най-долу става само ако ползваш return преди това. Иначе при намерен елемент ще ти изкара и двете.
На dakatamen решението ми изглежда коректно, но нека човекът си го види.
слагаш още една променлива, която да стане 1 при изпълнение на if (x== arr)
след това правиш още един if(поменлива==1) {cout << "found" << endl;} else { cout << "not found" << endl;}
варианти много Може така и брояч да си сложиш, колко пъти x е в масива примерно
if (x== arr) {s++;}}
cout << "found " <<s<<" times" <<endl;
nefelen написа:слагаш още една променлива, която да стане 1 при изпълнение на if (x== arr)
след това правиш още един if(поменлива==1) {cout << "found" << endl;} else { cout << "not found" << endl;}
варианти много Може така и брояч да си сложиш, колко пъти x е в масива примерно
if (x== arr) {s++;}}
cout << "found " <<s<<" times" <<endl;
На една олимпиада бях сложил един такъв иф с брояч и много яко ме изгърбиха проверяващите.
Тва по принцип не се приема за рационално решение.
nefelen написа:слагаш още една променлива, която да стане 1 при изпълнение на if (x== arr)
след това правиш още един if(поменлива==1) {cout << "found" << endl;} else { cout << "not found" << endl;}
варианти много Може така и брояч да си сложиш, колко пъти x е в масива примерно
if (x== arr) {s++;}}
cout << "found " <<s<<" times" <<endl;
На една олимпиада бях сложил един такъв иф с брояч и много яко ме изгърбиха проверяващите.
Тва по принцип не се приема за рационално решение.
Ако визираш брояча, принципно прави някакви излишни неща, да, но не е невярно решение.
Мислех, че на олимпиадите по информатика проверката става просто с автоматични тестове. (което също също би могло да ти намали точките, разбира се, в случай че програмата ти се забави твърде много на даден тест)
Да на олимпиадите казва ти какъв е входа и какво трябва да изкара и те после си пускат още 1-2 теста(да не би да не си направил само cout<< ). А такава глупост са тези ученически олимпиади по информатика, че думи нямам чак