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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Задача на С

Featured Replies

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

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
int izboredno(int masiv[], int el);
void izbordve(int masiv[], int elementi);
void izbortri(int masiv[], int el);
void izborchetiri(int masiv[],int masivtwo[], int elementi);
int izborpet(int masiv[]);
int izborshest(int masiv[]);
/*size_t fwrite(const void *masiv, size_t elementi, size_t nmemb, FILE *stream);*/

int main()
{
	int masiv[100],elementi=0,masivtwo[100];
	int menu;
	do
	{
		printf("\n---MENU:---\n");
		printf("1.Populvane na masiva\n");
		printf("2.Proverka za naliche na element po stoinost\n");
		printf("3.Otpechatvane na surdarjanieto na masiva\n");
		printf("4.Da se nameri kolko ot elementite povdignati na kvadrat sa po-malki ot nai-golemiq element v masiva\n");
		printf("5.Zarejdane na masiv ot posochen po vreme na rabota na programata fail\n");
		printf("6.Zapis na sudarjanieto na masiva v posochen po vreme na rabota na programata fail\n");
		printf("7.---IZHOD---\n");
		scanf("%d", &menu);
		switch (menu)
		{
		case 1:
			printf("-----------------------------------\n");
			elementi = izboredno(&masiv[100],elementi);
			printf("-----------------------------------\n");
			break;
		case 2:
			printf("-----------------------------------\n");
			izbordve(&masiv[100], elementi);
			printf("-----------------------------------\n");
			break;
		case 3:
			printf("-----------------------------------\n");
			izbortri(&masiv[100], elementi);
			printf("-----------------------------------\n");
			break;
		case 4:
			printf("-----------------------------------\n");
			izborchetiri(&masiv[100],&masivtwo[100], elementi);
			printf("-----------------------------------\n");
			break;
		case 5:
			printf("-----------------------------------\n");
			izborpet(&masiv[100]);
			printf("-----------------------------------\n");
			break;
		case 6:
			printf("-----------------------------------\n");
			izborshest(&masiv[100]);
			printf("-----------------------------------\n");
			break;
		case 7:
			printf("Dovijdane\n");
			exit(0);
		default:
			printf("Vuveli ste nevaliden izbor\n");
			break;
		}
	} while (menu!=7);
	_getch();
}

int izboredno(int masiv[],int elementi)
{
	int i;
	printf("Vuvedete broi elementi v masiva(ne poveche ot 100)\n");
	scanf("%d", &elementi);
	if (elementi <= 100)
	{
		printf("Molq vuvedete vashite elementi v masiva\n");
		for (i = 0; i < elementi; i++)
		{
			printf("\nMolq vuvedete element N=%d....", i);
			scanf("%d", &masiv[i]);
		}
		printf("\n---Gotovo---\n");
		
	}
	else
	{
		printf("Molq vuvedete validna stoinost");
	}
	return elementi;
}

void izbordve(int masiv[],int elementi)
{
	int trelementi,i,a;
	printf("Vuvedete turseniq element\n");
	scanf("%d", &trelementi);
	for (i = 0; i < elementi; i++)
	{
		a = 0;
		if (trelementi == masiv[i])
		{
			++a;
			printf("Da ima takuv element,negoviq adres e mas[%d]\n", i);
			break;
		}
	}
	if (a == 0)
	{
		printf("Nqma takuv element\n");
	}
}

void izbortri(int masiv[], int elementi)
{
	int i;
	for (i = 0; i < elementi; i++)
	{
		printf("masiv[%d] = %d\n", i, masiv[i]);

	}
}

void izborchetiri(int masiv[],int masivtwo[],int elementi)
{
	int i, max=0, min=0, a;
	for (i = 0; i < elementi; i++)
	{
		masivtwo[i] = masiv[i];
	}
	for (i = 0; i < elementi; i++)
	{
		masivtwo[i] = masivtwo[i] * masivtwo[i];
	}
	for (i = 0; i < elementi; i++)
	{
		if (max < masiv[i])
		{
			max = masiv[i];
		}
	}
	a = 0;
	for (i = 0; i < elementi; i++)
	{
		if (masivtwo[i] < max)
		{
			a++;
				printf("Element [%d] koito e=[%d] e po-maluk ot nai-golemiq element v masiva\n", i, masivtwo[i]);
		}
	}
	if (a == 0)
	{
			printf("Nqma takiva elementi\n");
	}
	printf("Elementite sa %d\n", a);
	printf("Maximalniq element e=%d\n", max);
}
int izborpet(int masiv[])
{
	FILE *fp;
	fp = fopen("mas1.txt", "w");
	if (fp == NULL)
	{
		printf("Faila ne moje da se otvori");
		exit(1);
	}
	fread(&masiv, sizeof(masiv), 1, fp);
	printf("---Gotovo---\n");
}

int izborshest(int masiv[])
{
	FILE *fp;
	fp = fopen("mas1.txt", "w");
	if (fp == NULL)
	{
		printf("Faila ne moje da se otvori");
		exit(1);
	}
	fwrite(&masiv,sizeof(masiv),1, fp);
	fclose(fp);
	printf("---Gotovo---\n");
}

 

Не ти е нужно &. Просто махни &. От 169 ред.

fread(masiv, sizeof(masiv), 1, fp);

Другото, което е  getch(); Махни _.

gd3yze4t.jpg

 

преди 8 минути, acnekt написа:

Другото, което е  getch(); Махни _.

То това май зависи от компилатора

  • Автор

Без '_' не работи,като цяло дава грешка компилатора.И със амперсанд и без него,пак не иска да отваря и записва масива.

Цък Цък

 

преди 18 минути, Venislav Georgiev написа:

Без '_' не работи,като цяло дава грешка компилатора.И със амперсанд и без него,пак не иска да отваря и записва масива.

Цък Цък

 

FILE *f = fopen("client.data", "wb");
fwrite(clientdata, sizeof(char), sizeof(clientdata), f);
fclose(f);

 

Автора имаш поща

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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