Премини към съдържанието

Препоръчан отговор


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

#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);

 

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


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

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

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване