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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Курсова задача на С++

Featured Replies

Зададен е едномерен масив от цели числа А0,А1,....А n-1. Да се състави програма, която създава нов масив а0,а1,....,аn-1, като стойността на аi е равна на най-малката цифра на Аi.В програвата да се използват динамични масиви.

 

 

Благодаря предварително!!:)

#include <iostream>
using namespace std;

void create_array_from_last_digit(int* A, int* a, int n)
{
	int i;
	for (i = 0; i < n; i++)
	{
		a[i] = A[i] % 10;
	}
}


int main()
{
	int i;
	int* A;
	int* a;
	int n;
	cout << "Vavedete dalzhina na masiva -> ";
	cin >> n;
	A = new int[n];
	a = new int[n];
	cout << "\n\n";
	for (i = 0; i < n; i++)
	{
		cout << "vavedete A[" << i << "] -> ";
		cin >> A[i];
	}
	create_array_from_last_digit(A, a, n);
	cout << "\n\n";
	for (i = 0; i < n; i++)
	{
		cout << "a[" << i << "] = " << a[i] << "\n";
	}
	delete[] A;
	delete[] a;
	return 0;
}

 

Тея даскали кога ще почнат да ви дават задачи с коректно написани условия?

Най-малката цифра какво би трябвало да значи - цифрата на единиците или най-малката от всички цифри на числото.

#include <iostream>
using namespace std;

int find_smallest_digit(int n)
{
	int digit = 10;
	int temp;
	while (n > 0)
	{
		temp = n % 10;
		n = n / 10;
		if (digit > temp) digit = temp;
	}
	return digit;
}

void create_array_from_smallest_digit(int* A, int* a, int n)
{
	int i;
	for (i = 0; i < n; i++)
	{
		a[i] = find_smallest_digit(A[i]);
	}
}


int main()
{
	int i;
	int* A;
	int* a;
	int n;
	cout << "Vavedete dalzhina na masiva -> ";
	cin >> n;
	A = new int[n];
	a = new int[n];
	cout << "\n\n";
	for (i = 0; i < n; i++)
	{
		cout << "vavedete A[" << i << "] -> ";
		cin >> A[i];
	}
	create_array_from_smallest_digit(A, a, n);
	cout << "\n\n";
	for (i = 0; i < n; i++)
	{
		cout << "a[" << i << "] = " << a[i] << "\n";
	}
	delete[] A;
	delete[] a;
	return 0;
}

 

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

Първия ми отговор е за цифрата на единиците, а втория за най малката цифра

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

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;

void printArray(int* arr,int arrSize){
    cout<<endl;
    cout<<"-----Start-----"<<endl;
    cout<<"---------------"<<endl;
    for(int i = 0;i<arrSize;i++){
        cout<< "arr["<<i<<"]="<<arr <<endl;
    }
    cout<<"---------------"<<endl;
    cout<<"------End------"<<endl;
    cout<<endl;
}

void initializeRandomArray(int* arr,int arrSize){
    srand (time(NULL));
    for(int i = 0;i<arrSize;i++){
        /*generate random number between 0 and 1,000,000*/
        arr= rand()%1000000 + 1;
    }
}
int getLowestDigit(int num){
    int lowestDigit=num%10;
    num/=10;
    while(num!=0){
        int nextDigit=num%10;
        if(nextDigit<lowestDigit){
            lowestDigit=nextDigit;
        }
        num/=10;
    }
    return lowestDigit;
}

int* buildNewArray(int* arr,int arrSize){
    int* newArray = new int[arrSize];
    for(int i = 0;i<arrSize;i++){
        newArray=getLowestDigit(arr);
    }
    return newArray;
}
int main()
{
    const int n =10;
    int* integerArray = new int[n];
    initializeRandomArray(integerArray,n);
    cout << "Array input:" << endl;
    printArray(integerArray,n);
    int *newArray = buildNewArray(integerArray,n);
    cout << "Array output:" << endl;
    printArray(newArray,n);

    /*cleaning the memory*/
    delete[] integerArray;
    delete[] newArray;

    return 0;
}
 

Ето едно и от мен да си имаш, колегата малко ме изпревари.

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

преди 38 минути, ined написа:

Ако числото е 0 или отрицателно функцията ще върне ,че най-малката цифра е 10.

#include <iostream>
#include <stdlib.h>
using namespace std;

int find_smallest_digit(int n)
{
	int digit = 10;
	int temp;
	n=abs(n);
	while (n > )
	{
		temp = n % 10;
		n = n / 10;
		if (digit > temp) digit = temp;
	}
	return digit;
}

 

while (n > )

Трябва да има 0 просто не знам защо форума го трие. Явно е по-запознат с програмирането

Редактирано от Zealar
Заради малумният форум как защо (преглед на промените)

преди 4 часа, Moni Slavova написа:

Зададен е едномерен масив от цели числа А0,А1,....А n-1. Да се състави програма, която създава нов масив а0,а1,....,аn-1, като стойността на аi е равна на най-малката цифра на Аi.В програвата да се използват динамични масиви.

 

 

Благодаря предварително!!:)

Нещо условието не ми е много ясно. Значи първо a1 взима най-маката цифра на A1, а за a2,3,4....?

преди 11 минути, frozener написа:

Нещо условието не ми е много ясно. Значи първо a1 взима най-маката цифра на A1, а за a2,3,4....?

И двете са масиви. На съответните индекси голямо А отговарят същите индекси малко а.

 

Това се има предвид

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

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

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

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

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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