Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2011, 00:26   #1
ttit1k
 
Регистрация: 10.03.2011
Сообщений: 3
По умолчанию Си, 1 курс, TC.exe, практика

В общем у меня огромная проблема- я совсем не могу вникнуть в Си. Учусь на 1 курсе и вроде учат нормально, но все равно ничего понять не могу
Если Вам не составит труда, помогите пожалуйста, с решением комплекса задач (думаю для вас они будут элементарными):

1. Даны действительные числа a[1], a[2],...,a[10]; b[1], b[2],...,b[20]. Получить действительную матрицу С{c[i][j]} где i=1,2,...,20; j=1,2,...,10 по правилу: c[i][j]=a[j]/(1+|b[i]|).

2. Дан символьный массив, содержащий одно или несколько слов, разделенных пробелами. Найти слова, в которых доля гласных букв максимальна.

3. Даны два файла А и В.
Записи файла А имеют структуру: 1) цех; 2) бригада; 3) шифр детали; 4) сдано за сутки.
Структура записи файла В: 1) шифр детали; 2) наименование детали
Отпечатать отчет с итогами по цеху, бригаде, детали.
При задании детали на печать выдавать не шифр, а наименование.

4. Даны натуральные числа P и Q (Q>=2). получить Q-ичное представление числа Р в виде такой последовательности a[0],:,a[n] целых неотрицательных чисел, что a[i]<Q (i=0,1,:,n) и P=a[n]*Q^n+:..+a[1]*Q+a[0](a[n]<>0)

5. Даны матрицы А(8,11) и В(13,5). Каждую матрицу преобразовать по правилу: найти столбец, содержащий минимальный элемент матрицы и домножить все положительные компоненты этого столбца на максимальное значение строки матрицы, где этот минимум находится. 9(6)

Работаем в TC.exe и решение разбиваем на функции типа vvod; vivod etc...
ttit1k вне форума Ответить с цитированием
Старый 10.03.2011, 06:07   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Своих наработок нет?
Тогда Вам во фриланс. За денежку помогут (т.е. сделают за Вас).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.03.2011, 08:08   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
1. Даны действительные числа a[1], a[2],...,a[10]; b[1], b[2],...,b[20]. Получить действительную матрицу С{c[i][j]} где i=1,2,...,20; j=1,2,...,10 по правилу: c[i][j]=a[j]/(1+|b[i]|).
Примерно так:
Код:
	int a[10],b[20];
	double c[20][10];
	for(int i=0;i<10;i++)for(int j=0;j<20;j++){
		a[i]=i;b[j]=j;c[j][i]=(double)a[i]/(1+abs((double)b[j]));
                printf("%d\t%d\t\t%5.2f\n",a[i],b[j],c[j][i]);
	}
	getchar();
Ессно это не полный код, учитывая что я не знаю какие правила игры в Турбо Си
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2011, 11:20   #4
kozaby
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 14
По умолчанию

Соглашусь с Smitt&Wesson - просто решать за вас никто не будет. Могу помочь за небольшое возаграждение.
аська: 297229071
kozaby вне форума Ответить с цитированием
Старый 10.03.2011, 12:23   #5
ttit1k
 
Регистрация: 10.03.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Примерно так:
Код:
	int a[10],b[20];
	double c[20][10];
	for(int i=0;i<10;i++)for(int j=0;j<20;j++){
		a[i]=i;b[j]=j;c[j][i]=(double)a[i]/(1+abs((double)b[j]));
                printf("%d\t%d\t\t%5.2f\n",a[i],b[j],c[j][i]);
	}
	getchar();
Ессно это не полный код, учитывая что я не знаю какие правила игры в Турбо Си
Cпасибо за отзыв. Но... так бывает... 1 программу я все-таки сумел написать и работаю над 2-ой
если кто-то осмелится безвозмездно мне помочь дописать/поправить по 2-ой программе буду признателен
Код:
vvod
int vvod (a,b,m) char a[], *b; int m;
{int l,i,j,k;
printf ("Vvedi text\n");
gets (a);
l=strlen (a);
k=0;
for (i=0; i<l; i++)
{for (j=0; i<l && a[i]!=' '; j++; i++)
*(b+k*m+j)=a[i];
*(b+k*m+j)='\0';
k++;
}
return k;
}
find
int find (a,n) int a[],n;
{char f[6]={a,e,i,o,u,y} int m,i,j
printf ("Slova s max kol-vom glasnih\n");
for (i=0; i<6; i++)
{fl=0;
for(j=0; j<10; j++)
if (a[i]==f[j]) fl=1;
if (fl==1)
printf ("%s  \n", a[i]);
}
m=10
for (i=0; i<n; i++)
if (m<a[i])
m=a[i]
return m;
Почти уверен, что тут куча ошибок Поэтому смельчакам, которые решатся мне помочь просьба поправить и помочь с написанием последующих компонент программы.
Ps теоретически я знаю, что нужно делать:
найти слова с максимальной долей гласных букв путем сравнения k/n с 1, где k/n: k- количество гласных деленное на n- общее число букв в слове.

Последний раз редактировалось ttit1k; 10.03.2011 в 12:26.
ttit1k вне форума Ответить с цитированием
Старый 10.03.2011, 15:58   #6
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Код:
	int maxvowels=1;
	int count=0;


	char vowels[] = "aeyuio";
	char word1[80] = "";
	char word2[80] = "";
	char str[80];
	char *p;

	gets(str);

	p=strtok(str," \0");

	do {

		count=0;

		for (int i=0; p[i]!=0; i++)
			if (strchr(vowels,p[i]))
				count ++;

			if (count >= maxvowels) {
				maxvowels=count;
				strcpy(word2,word1);
				strcpy(word1,p);
			}

	p=strtok(NULL," \0");

	} while (p);


	puts(word1);
	puts(word2);
не супер, но..
onewho вне форума Ответить с цитированием
Старый 10.03.2011, 17:24   #7
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Цитата:
Почти уверен, что тут куча ошибок
ну так проверь! в чем трабла? свой код проверить не можешь, как он работает, правильно или нет???
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 10.03.2011, 21:46   #8
ttit1k
 
Регистрация: 10.03.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
Код:
	int maxvowels=1;
	int count=0;


	char vowels[] = "aeyuio";
	char word1[80] = "";
	char word2[80] = "";
	char str[80];
	char *p;

	gets(str);

	p=strtok(str," \0");

	do {

		count=0;

		for (int i=0; p[i]!=0; i++)
			if (strchr(vowels,p[i]))
				count ++;

			if (count >= maxvowels) {
				maxvowels=count;
				strcpy(word2,word1);
				strcpy(word1,p);
			}

	p=strtok(NULL," \0");

	} while (p);


	puts(word1);
	puts(word2);
не супер, но..
К сожалению, речь идет об учебной процессе, в котором мы не проходили того, что ты написал Все равно спасибо за отзыв.
ttit1k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Практика ! IT-WAR10CK Общие вопросы C/C++ 0 28.11.2010 21:37
Практика prittygirl Паскаль, Turbo Pascal, PascalABC.NET 10 14.06.2010 20:46
Передача строки exe (с формой (API)) ↔ exe (форма скрыта) Alex Cones Общие вопросы Delphi 16 04.10.2009 15:26
ПРАКТИКА!!! juan666777 Свободное общение 15 22.07.2009 17:49
Практика С++ Levhik Общие вопросы C/C++ 3 23.06.2009 12:04