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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Няколко въпроса

Featured Replies

Здравейте. Една от задачите е следната:

2. В текстовия файл A:\Test\Sign.txt са въведени цели числа, записани по едно на ред.

Напишете програма на езика С, с 2 функции

1) за извеждане на екрана или в зададен от потребителя файл средно-аритметичното на положителните числа

2)за извеждане на екрана, колко пъти се среща цифрата 6 във зададения файл.

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

#include <stdio.h>

int main()
{
	int avg, inChar;
	int total = 0;
	int i = 0;
	int k;
	char filename[2000];
	FILE * fp;
	printf("Vavedete imeto na faila.");
	gets(filename);
	if ((fp = fopen(filename, "r")) == NULL) 
		{ printf("Invalid file.");}
	while ((inChar = getc(fp)) != EOF)
		{ if ((inChar = getc(fp)) == '6')
			{ i++; }
		}
	avg = total / i;
	printf("The numbers of sixes is %d", i);
		 
	return 0;
}

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

Та въпросът ми е как да накарам компилатора да брои числата наистина като числа.

Една друга тестова задача:

char[m] = "kopacabana", *p;
for (p= m+3, *p; p++) *p+=2
printf(" %s %c %c", m+1, *(m+4), m[5])

Трябва да се напише какво ще изведе този код. Отговора го имам, и той е "cmcdcpc n c", но не мога да разбера как точно действа този цикъл for. Ще съм много благодарен ако някой напред с материала обясни. :computer2:

Юнак, 1. Използвай fgets(), зацикляйки ще изчетеш файла ред по ред. За всеки от прочетените редове използвай функцията atoi() да го обърне в целочислена стойност. Така получената стойност я натрупвай в сума и след цикъла я раздели на броя прочетени редове. 2. Позиционираш пойнтера p на четвърта позиция от стринга m (това се явява първата буква a). От там за всяка следваща итерация се придвижваме с един символ надясно по стринга, като увеличаваме текущата стойност с 2 (т.е. буквата а се превръща в c, b => d, c => e и т.н.) - и така докато не достигнем и последния му символ... Успех!

На atoi се подава char* а се получава int. Очевидно трябва да се подаде като аргумент inChar а не файловия пойнтер. И още нещо използвай fgets, a ne gets! Дерзай!

  • Автор

Мерси много! :) А сега забелязах относно втория ми въпрос, свързан с цикъла фор. Отговора, който имам е "cmcdcpc n c", а сега след поясненията като го прегледах аз получавам "cecrcdcpc e c". Дали греша? :ph34r:

Регистрирайте се или влезете в профила си за да коментирате

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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