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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Курсова работа по C

Featured Replies

Имам нужда от помощ за курсовата работа по програмиране. Да се напише програма която: -Получава целочислен масив от 100 елемента и извежда на екрана въведения масив. -Всички отрицателни числа,които се намират на четни позиции и се делят точно на 3 да се запишат в масив1,а положителните,които се делят точно на 7 да се запишат в масив2. -Да се намери най-често срещаният символ във всеки един от масивите и общо в двата масива. -Програмата да има текстово меню,от което потребителят да избира дали да въвежда масив или да обработва вече даден такъв. МОля помогнете че иначе немога да взема подпис. Колкото можете помогнете дори и да не е всичко. МЕРСИ.

Имам нужда от помощ за курсовата работа по програмиране.

Да се напише програма която:

-Получава целочислен масив от 100 елемента и извежда на екрана въведения масив.

-Всички отрицателни числа,които се намират на четни позиции и се делят точно на 3 да се запишат в масив1,а положителните,които се делят точно на 7 да се запишат в масив2.

-Да се намери най-често срещаният символ във всеки един от масивите и общо в двата масива.

-Програмата да има текстово меню,от което потребителят да избира дали да въвежда масив или да обработва вече даден такъв.

МОля помогнете че иначе немога да взема подпис.

Колкото можете помогнете дори и да не е всичко.

МЕРСИ.

Започнете, напишете каквото можете, ние ще помагаме след това. Тук мързела не се адмирира
  • Автор

Имам идеи за първите 2 точки но за 3та и 4та е тежко.

Моля ви проверете за грешки и поправете .Мерси

#include <stdio.h>

FILE *fp1=NULL;

void vhod(int *p, int br)

{

int i=0,d;

fp1=fopen("a1.txt","r");

for(i=0;i<br;i++)

{

fscanf(fp1,"%d",&d);

if(d==EOF){break;}

else{p=d;}

}

if(fp1!=NULL) fclose(fp1);

}

main()

{

int a[100],i;

vhod(a,100);

for (i=0;i<100;i++)

{

printf("a[%d]=%d\n",i,a);

}

getch ();

}

void izvejdane(

{

int b[];

int a[100];

for(int j=0;j<100;j++)

if(a[j]<0 & j%2==0 & a[j]%3==0)

b[0]=a[j];

}

Бе яката си отбил номера с това което си постнал, ама хайде, нали обещахме. Поне следващия път го направи да се компилира...

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

После приех че елементи с индекси 1,3,5 и т.н са тия на четни позиции. Ако не ти харесва смени if-а в разделянето да почва от 0.

Приех че това за положителните числа които се делят на 7 също е за четните позиции. Ако и това не е така промени проверката или добави цикъл.

И накрая ако има няколко елемента които се срещат еднакво често най-много пъти, печатам първия от тях.

#include <conio.h>
#include <stdio.h>

#define ARRAY_SIZE	(100)
#define FILE_NAME	"a1.txt"
typedef struct {
	int data[ARRAY_SIZE];
	int size;
} IntArrayT;

int printMenu()
{
	char c;
	printf("\nChoose:\n");
	printf("1. Read array from file\n");
	printf("2. Print array\n");
	printf("3. Process array\n");
	printf("4. Quit\n");
	do {
		c = getch();
	}while ((c < '1') || (c > '4'));
	return (c - '0');
}

void vhod(IntArrayT *p)
{
	FILE *fp1;
	int i=0,d;
	fp1 = fopen(FILE_NAME, "r");
	if(fp1 != NULL){
		for(i=0; i<ARRAY_SIZE; i++){
			if(0 >= fscanf(fp1,"%d",&d)) {
				p->size = i;
				break;
			}
			p->data[i] = d;
		}
		fclose(fp1);
	}
	p->size = i;
}
void separateData(IntArrayT *input,
				  IntArrayT *output1,
				  IntArrayT *output2)
{
	int i;
	output1->size = 0;
	output2->size = 0;
	for (i = 1; i < input->size; i+=2) {
		if((input->data[i] < 0) && (0 == input->data[i]%3)){
			output1->data[output1->size++] = input->data[i];
		} else if ((input->data[i] > 0) && (0 == input->data[i]%7)) {
			output2->data[output2->size++] = input->data[i];
		}
	}
}
void printArray(IntArrayT *input)
{
	int i;
	for (i=0;i<input->size;i++)
	{
		printf("a[%d]=%d\n", i, input->data[i]);
	}
}

int mostCommonNumber(IntArrayT *input)
{
	int i;
	int result = 0;
	int temp_result;
	int nextIdx = 0;
	int tempIdx;
	int resIdx;
	int flag;

	do {
		temp_result = 1;
		flag = 0;
		tempIdx = nextIdx;
		for (i = nextIdx+1; i < input->size; i++) {
			if(input->data[nextIdx] == input->data[i]) {
				temp_result++;
			} else if (!flag) {
				flag = 1;
				nextIdx = i;
			}
		}
		if(temp_result > result) {
			result = temp_result;
			resIdx = tempIdx;
		}
	} while(flag);

	return(input->data[resIdx]);
}

void combineArrays(IntArrayT *dest, IntArrayT *source)
{
	int i;
	for (i = 0; i < source->size; i++) {
		dest->data[dest->size++] = source->data[i];
	}
}

int main()
{
	int i;
	IntArrayT inArr;
	IntArrayT Arr1;
	IntArrayT Arr2;
	do{
		i = printMenu();
		switch (i) {
			case 1:
				vhod(&inArr);
				if(inArr.size){
					printf("Array is loaded\n");
				} else {
					printf("Invalid file\n");
				}
				break;
			case 2:
				if(inArr.size){
					printArray(&inArr);
				} else {
					printf("Invalid data\n");
				}
				break;
			case 3:
				if(inArr.size){
					separateData(&inArr, &Arr1, &Arr2);
					if(Arr1.size){
						printf("Most common number in first array: %d\n",
							mostCommonNumber(&Arr1));
					}
					if(Arr2.size){
						printf("Most common number in second array: %d\n",
							mostCommonNumber(&Arr2));
					}
					combineArrays(&Arr1, &Arr2);
					if(Arr1.size){
						printf("Most common number in both arrays: %d\n",
							mostCommonNumber(&Arr1));
					}
				} else {
					printf("Invalid data\n");
				}
				break;
			default:
				break;
		}
	} while(4 != i);
}

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

Ами хубаво. Това вероятно ще продължи до момента, когато решиш да ни кажеш, какъв проблем точно ти изникна. Редакция: Е явно си се оправил.

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

  • 1 година по-късно...

Да се напише програма, която:

· Получава целочислен масив от 100 елемента и извежда на екрана въведения масив.

 

 

#include <stdio.h>
#include <iostream.h>
int main()
{
 int i, A[100]={10, 23, 33, 16, 80, 32};
 for (i=0;i<100;i++)
 {
   printf("A= ");
   scanf("%d", &A);
 }
 while(10, 23, 33, 16, 80, 32)
 return 0;
}
Мисля че като цяло не отговаря на поставеното условие но не знам как да я поправя някой малко помощ?

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

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

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

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

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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