.
Отговор в тема
Резултати от 1 до 3 от общо 3

Тема: c++ задача

  1. #1

    c++ задача

    Някой може ли да ми реши следната задача :
    Да се въведе от стандартния вход масив / вектор от цели числа и число а, въведено от клавиатурата. Да се състави и изведе на екрана друг масив / вектор, съдържащ индексите на елементите с четни индекси и стойности по-малки от въведеното число.
    Ако може и едно кратко обяснение в рамките на 4 5 реда на задачата Мерси предварително

  2. #2
    Код:
    #include <iostream.h>
    
    using namespace std;
    
    /*
       Не ми се пишеше функция за въвеждаме, за това направо в
       програмата се сетват стойностите на масива
    */
    int input_array[] = {16, 2, 77, 40, 5, 123, 13, 14, 65, 76, 12, 87, 25, 136};
    //Забрави за тези глупости да си именоваш променливите само с една буква
    int request_number;
    
    //Съвсем обикновена и проста функция за изкарване на данните, от едномерен масив, на екрана.
    void print_array(array,len){
    	for(int i = 0; i < len; i++){
    		cout<<"Елемент "<<i<<" - "<<array[i]<<endl;	
    	}
    }
    
    int main(){
    /*
       Програмата започва с въвеждане на цялото число, което ще ни е
       критерия за сравнение
    */
    	cout<<"Въведете число за сравнение: ";
    	cin>>request_number;
    
    
    /*
       Броим масива за да знаем колко итерации ще има цикъла, който го обхожда,
       Избягвай да използваш директно функцията като изчисления за края
    ( for(int i = 2; i < count(input_array); i+=2){ )
       Тъйкато функцията count() ще се изпълнява на всяка итерация, а това
       е глупаво да се случва.
    */
    	int cycle_end = count(input_array);
    
    /*
       Масива, който ще съдържа четните елементи, не знаем все още, нито
       колко ще е голям, нито дали ще съдържа елементи.
       За това заделяме за него, при дефиницията му, максималното място дето би му било нужно.
       Което е: бройката на елементите на входния масив разделена на 2
       (тъйкато изчисляваме само за четните числа) и резултата закръглен
       към по горна стойност с функцията ceil()
    */
    	int output_array[ceil(cycle_end/2)];
    	
    	for(int i = 2; i < cycle_end; i+=2){
    /*
       Обхождаме всеки елемент на входния масив и го сравняваме спрямо числото,
    което е въвел потребителя.
    Според условието на задачата, ако елемента на масива е по малък, то тогава
    записваме в другия масив.
    */
    		if(input_array[i] < request_number){
    			output_array[] = input_array[i];
    		}	
    	}
    	
    	cout<<"Печатане на масива с резултати:"<<endl;
    	
    /*
       Остана само да отпечатаме масива, което си правим с горната функцийка.
    */
    	print_array(output_array,count(output_array));
    	
    	return 0;
    }

    Всички авточасти на едно място!

  3. #3
    благодаря ти златен си

Правила за публикуване

  • Вие не можете да публикувате теми
  • Вие не можете да отговаряте в теми
  • Вие не можете да прикачвате файлове
  • Вие не можете да редактирате мненията си