CAHTA
Гость
|
 |
« : 12-09-2005 08:57 » |
|
Даны натуральное число n и символьный файл, каждая последовательность компонент которого представляет сабой текст на русском языке. Абзац ( красная строка) обозначен символом ^. Вывести этот текст строками длины n, начиная абзац с трех пробелов. В каждом абзаце использовать выравнивание по правому краю. Пробелы распределить равномерно между словами. + к этому нада сделать 1. выбор ввода исходных данных из файла или с клавиатуры 2. выбор вывода результатов на экран или в файл. ------------------------------- пожалуйста помогить , неуспеваю сделать
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
 |
« Ответ #1 : 12-09-2005 11:14 » |
|
Чем собственно помочь-то надо? Только не отвечай "сделать". ЗЫ: Задача не корректно поставлена: " В каждом абзаце использовать выравнивание по правому краю. Пробелы распределить равномерно между словами." При выравнивании по правому краю пробелы не добавляются, а добавляются они при выравнивании "по ширине".
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
CAHTA
Гость
|
 |
« Ответ #2 : 12-09-2005 11:27 » |
|
PooH, эт ты меня спрашиваеш? я сам не могу врубиться в задание. мне его дали. и я незнаю как его делать:(
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
 |
« Ответ #3 : 12-09-2005 11:34 » |
|
да вроде все понятно с заданием... что именно не понятно? вырезаешь из теста по одному слову и собираешь новый текст в каждой строке д.б. не больше N символов, если очередное слово выходит за N, то его в следующуюю строку, а текущую строку расширяешь до N символов. При этом не забывая ^ заменять на 3 пробела.
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
 |
« Ответ #4 : 12-09-2005 11:37 » |
|
OFFTOP: Правда, вот это - "каждая последовательность компонент которого представляет сабой текст на русском языке" как-то не по-русски звучит, наверное, биологичка задание соотавляла 
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
CAHTA
Гость
|
 |
« Ответ #5 : 12-09-2005 11:40 » |
|
мржеш отяб какиениб наброски скинуть?
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
 |
« Ответ #6 : 12-09-2005 11:42 » |
|
увы, набросков нет  - такие проги еще на БК-ках  писал, но ты спрашивай, если что...
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
CAHTA
Гость
|
 |
« Ответ #7 : 12-09-2005 12:05 » |
|
слушай. а как реализовать ввод n чисел? n задается пользователем.
мне нужно ввести матрицу с клавиатуры .
|
|
« Последнее редактирование: 12-09-2005 12:23 от CAHTA »
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
 |
« Ответ #8 : 12-09-2005 13:10 » |
|
N чисел? или NxN чисел? матрицу обычно вводят, так: A(1,1)=? A(1,2)=? т.е. спрашиваешь каждый элемент по отдельности.  Матрица (чаще всего) реализуется двумерным массивом. Вопрос в том - он динамически или статический. Со статическим тривиально: делаешь матрицу 1000х100 и спрашиваешь N от 1 до 1000. С динамическим - да вроде и объяснять нечего, динамически выделяешь память под двумерный массив. Реализация процесса ввода: for(int i=0;i<N;i++) for(int j=0;j<N;j++){ printf("A(%i,%i)=");... ЗЫ: это если особо не мудрствовать. ЗЫ: ЗЫ: Ты же вроде создалл тему про двумерный массив, вот там бы и спрашивал, так сказать для полноты раскрытия темы.
|
|
« Последнее редактирование: 12-09-2005 13:12 от PooH »
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
CAHTA
Гость
|
 |
« Ответ #9 : 12-09-2005 16:08 » |
|
Люди!  момогите с прогой пожалуста!
|
|
|
Записан
|
|
|
|
CAHTA
Гость
|
 |
« Ответ #10 : 12-09-2005 17:05 » |
|
ну ёмаё. ПОМОГИТЕ ж!!!!
|
|
|
Записан
|
|
|
|
Alf
Гость
|
 |
« Ответ #11 : 12-09-2005 19:20 » |
|
Какая именно помощь требуется? Что не получается?
|
|
|
Записан
|
|
|
|
CAHTA
Гость
|
 |
« Ответ #12 : 12-09-2005 19:34 » |
|
нужно написать прогу  горю!завтра сдавать а я еше 2 шт не сделал  ((
|
|
|
Записан
|
|
|
|
Alf
Гость
|
 |
« Ответ #13 : 12-09-2005 19:42 » |
|
Понятно.
Заголовок темы вводит в заблуждение желающих помочь. Помочь можно только тому, кто что-то сам делает, а у него не получается.
|
|
|
Записан
|
|
|
|
CAHTA
Гость
|
 |
« Ответ #14 : 12-09-2005 20:00 » |
|
так я и нуждаюсь в помоши
|
|
|
Записан
|
|
|
|
Alf
Гость
|
 |
« Ответ #15 : 12-09-2005 20:08 » |
|
Давай попробую. Скажи, что именно вызывает затруднения. Ответ "отстань и напиши сам за меня" не принимается.
Ни один нормальный преподаватель не вздрючит человека, который старался сделать, но что-то не получилось. А вот если он приносит работающую программу и не может внятно рассказать, как она работает, я бы на второй год оставил на его месте.
Итак, что у тебя уже есть и что осталось?
|
|
|
Записан
|
|
|
|
nikedeforest
|
 |
« Ответ #16 : 13-09-2005 09:51 » |
|
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Alf
Гость
|
 |
« Ответ #17 : 13-09-2005 09:59 » |
|
Ни хрена себе заявочки... Робкий намек хоть немного попробовать подумать самому уже трактуется как издевательство над личностью?
Ребята, вы форумом не ошиблись? Тут вроде программисты общаются и желающие ими стать. Покупку дипломов нужно среди спама искать, мне регулярно приходит в ящик. Или Хоттабыча искать.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #18 : 13-09-2005 10:03 » |
|
слушай. а как реализовать ввод n чисел? n задается пользователем.
мне нужно ввести матрицу с клавиатуры .
САНТА, Альф прав. Для начала напиши алгоритм в хотя бы человеческих словах и вывали сюда. задача-то простейшая, вернее - алгоритм её решения
|
|
|
Записан
|
|
|
|
nikedeforest
|
 |
« Ответ #19 : 13-09-2005 12:35 » |
|
Ни хрена себе заявочки... Робкий намек хоть немного попробовать подумать самому уже трактуется как издевательство над личностью?
Ребята, вы форумом не ошиблись? Тут вроде программисты общаются и желающие ими стать. Покупку дипломов нужно среди спама искать, мне регулярно приходит в ящик. Или Хоттабыча искать.
Что же так грубо? Я не против твоего намека на подумать, меня встрепенула фраза "я бы на второй год оставил на его месте"  . Обидеть не хотел, шутка это была, поэтому и смайлики стояли.
|
|
|
Записан
|
ещё один вопрос ...
|
|
|
Alf
Гость
|
 |
« Ответ #20 : 13-09-2005 12:59 » |
|
Да мне-то чего обижаться? Если кто-то подсунет преподу написанную кем-то другим программу и препод подмахнет зачет не глядя, потому что ему тоже все пофиг, мне это обиды не нанесет. Наоборот, чем больше таких учеников и преподов, тем меньше конкуренции в сфере IT, а значит, тем, кого научили работать, легче найти работу, и платить за нее будут больше.
Хотя в целом, конечно, страшновато. Подумай сам, мне или тебе может выпасть жить в доме, который построил прораб, вовремя не оставленный на второй год. Или лететь на самолете авиаконструктора, которому некогда было учить уроки. А уж попасть на стол к такому хирургу - не приведи господь. Так что мой вариант - меньшее из всех зол. Только не говори, что от нерадивого программера неприятностей меньше. Кривая программа может вычесть с тебя налог за виллу, которой у тебя не было, обесточить городской квартал, когда ты едешь в лифте, и даже остановить кардиостимулятор. Тебе самому никогда не приходили нелепые счета из налоговой?
Поэтому охотно помогаю всем тем, кто хочет научиться. А кому это нафиг не надо... Мне тем более.
|
|
|
Записан
|
|
|
|
CAHTA
Гость
|
 |
« Ответ #21 : 13-09-2005 15:03 » |
|
ну че так грубо то? я попросил помочь с написанием проги . т.к неуспевол! шас взял отсрочку до пятницы , и все САМ напишу! че так шумите изза какойто мелочи? какбудто ниразу не просили коголибо сделать коечто , т.к. сами не успевали 
|
|
|
Записан
|
|
|
|
Alf
Гость
|
 |
« Ответ #22 : 13-09-2005 20:13 » |
|
Никто не шумит, и никакой грубости тут нет. Тебе была предложена любая разумная помощь, а именно - вместе разобрать задачу, вместе найти решение, но так, чтобы в голове что-то осталось, а не просто отмазаться от препода. Если тебе этого не надо, извиняй. Предложение подумать вместе - это уже грубость?
Одна из целей форума - помочь новичкам освоить программирование, а не получить справку о прослушанных курсах. Этим другие занимаются, которые бланки дипломов в метро продают. Мне не жалко потратить час-другой своего времени на то, чтобы кого-то научить.
Ладно, слишком много разговоров не по теме. Если по-прежнему нужна помощь, чтобы вместе найти решение, я тебе ее готов предложить, задача не бог весть какая сложная. Если нужна готовая отмазка - я пас.
P.S. Кстати, сегодня международный день программиста. В этот день подобные увещевания выглядят особенно нелепо.
|
|
|
Записан
|
|
|
|
CAHTA
Гость
|
 |
« Ответ #23 : 13-09-2005 20:39 » |
|
хех. о празднике я уведомлен! вот ток он официальный или так... ток среди программеров? а помощь всегда нужна. P.S. у меня нет такой плохой привычке , как сдавать не свои программы. много моих друзей прокалывались с этим  ( проги были моими  вопрос не втему , неохота создавать новый топик. порекомендуйте мне ХОРОШУЮ книго про Базф данных. вот решил освоитть эту весчь. :razz:
|
|
« Последнее редактирование: 13-09-2005 20:41 от CAHTA »
|
Записан
|
|
|
|
CAHTA
Гость
|
 |
« Ответ #24 : 13-09-2005 20:47 » |
|
N чисел? или NxN чисел? матрицу обычно вводят, так: A(1,1)=? A(1,2)=? т.е. спрашиваешь каждый элемент по отдельности.  Матрица (чаще всего) реализуется двумерным массивом. Вопрос в том - он динамически или статический. Со статическим тривиально: делаешь матрицу 1000х100 и спрашиваешь N от 1 до 1000. С динамическим - да вроде и объяснять нечего, динамически выделяешь память под двумерный массив. Реализация процесса ввода: for(int i=0;i<N;i++) for(int j=0;j<N;j++){ printf("A(%i,%i)=");... ЗЫ: это если особо не мудрствовать. ЗЫ: ЗЫ: Ты же вроде создалл тему про двумерный массив, вот там бы и спрашивал, так сказать для полноты раскрытия темы. Я сделал по-другому for ( F = 0;F < str ; F++) for ( FF = 0; FF < stl; FF++) scanf("%i",&arr[F][FF]);
тоесть я вожу строку матрицы целиком , а не как ты предлагал.
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
 |
« Ответ #25 : 14-09-2005 06:46 » |
|
В твоем случае можно вообще все матрицу через пробелы вбить. ... видишь "улыбочку" после рекомендации вводить по одному... если после моего printf написать scanf("%i",&arr[j]) тоже можно вводить через пробел !
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Carrie Bradshaw
Гость
|
 |
« Ответ #26 : 26-09-2005 08:34 » |
|
ну а я вообще чайник в Борланде :vzhik:. Поэтому сразу две просьбы: может кто подскажет сайтик, где бы мне, неучу, объяснили вообще его азы. а еще может кто поможет: с добавлением limits.h и values.h найти максимальный беззнаковый long и максимальную степень, в которую можно возвести 2? может кто поможет мне, неучу. Вам, супер-пупер хакерам, это наверняка расплюнуть... 
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #27 : 26-09-2005 09:20 » |
|
Carrie Bradshaw > может кто подскажет сайтик, где бы мне, неучу, объяснили вообще его азы. - ты этот сайт уже нашла  > найти максимальный беззнаковый long - непонятен вопрос... Хотя - загрузи в unsigned long ноь и отними 1 unsigned long L; L=0; L--; > максимальную степень, в которую можно возвести 2 - да в любую... Смотя в какой тип тебе надо вместить результат. Сколько бит в типе - "во столько раз минус один" можно возвести 
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #28 : 26-09-2005 09:21 » |
|
и ещё - хакерством мы тут не промышляем и никому не советуем 
|
|
|
Записан
|
|
|
|
Carrie Bradshaw
Гость
|
 |
« Ответ #29 : 26-09-2005 09:35 » |
|
Знаю, что обнаглевшая совсем стала, но файл уже с такой программкой не выложите? а то вообще ничерта непонятно...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #30 : 26-09-2005 09:44 » |
|
да нет, не обнаглевшая, вполне вежливая девушка я не на борланде пишу, поэтому готовое дасть не могу. Но - что тут делать-то? Бери любую твою уже готовую программу и копируй туда (только не пойму точно - что надо - и что за заголовочные файлы ты привела? зачем они?) формулировка вопросов (в 4-м отсюда посте вверх) - непонятна
|
|
|
Записан
|
|
|
|
Carrie Bradshaw
Гость
|
 |
« Ответ #31 : 26-09-2005 09:56 » |
|
я и сама не очень вообще поняла, что делать-то. просто мне сказали. а то, что сказали я и говорю вам - максимальную беззнаковую длинную константу надо на экран вывести...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #32 : 26-09-2005 10:06 » |
|
повторяю, точно не помогу, надо тех, кто пользуется борландом - я не знаю как там у вас на экран выводите, но думаю должно быть что-то вроде: (максимальный unsigned long ) #include <iostream> int main(void) { unsigned long uL=0; uL--; //как распечатать - не знаю  , что-то вроде cout << uL; return 0; }
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #33 : 26-09-2005 10:21 » |
|
а насчёт степени двойки ...
> максимальную степень, в которую можно возвести 2?
ну скажем тебе нуна определить, сколько степеней двойки влезет в unsigned long.
////////////////// count = sizeof(unsigned long)*8; //считаем количество бит в unsigned long count -=2; //count - количество степеней, в которую можно возвести 2, не получив переполнения
|
|
|
Записан
|
|
|
|
Carrie Bradshaw
Гость
|
 |
« Ответ #34 : 27-09-2005 08:06 » |
|
сэнкс а распечатывать на Борланде - printf
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
 |
« Ответ #35 : 27-09-2005 08:14 » |
|
всегда рады помочь 
|
|
|
Записан
|
|
|
|
Hamster
Гость
|
 |
« Ответ #36 : 09-11-2005 07:34 » |
|
Мужики помогите уже второй день сижу не могу придумать ничего... M и N числитель и знаменатель обыкновенной дроби. Составить программу, позволяющую сократить эту дробь.#include <stdio.h> #include <conio.h> #include <math.h> void main() { int n,m,z; float a;
printf("\ninput n/m\t"); scanf ("%d/%d",&n,&m); while (n%2==0 & m%2==0) { n/=2; m/=2; } while (n%3==0 & m%3==0) { n/=3; m/=3; } while(n%m==0 || m%n==0) { if (n>m) { z=fabs(m); m/=z; n/=z; } else { z=fabs(n); m/=z; n/=z; } } printf("sokrashenna9I drob %d/%d\n",n,m); getch(); } проблема в следующем в условии последнего цикла нужно чтобы условие удовлетворяло дроби такой как 121/11 или 13/39. заранее спасибо.
|
|
|
Записан
|
|
|
|
Alf
Гость
|
 |
« Ответ #37 : 09-11-2005 07:51 » |
|
Hamster, чтобы сократить дробь, тебе нужно найти наибольший общий делитель (НОД) числителя и знаменателя. Конечно, можно в цикле перебирать все возможные делители, но это неэффективно при больших числах.
Есть более быстрый алгоритм Евклида, очень простой. Думаю, разберешься в момент. Если что непонятно, спрашивай.
|
|
|
Записан
|
|
|
|
Hamster
Гость
|
 |
« Ответ #38 : 09-11-2005 08:41 » |
|
Вот что насидел... #include <stdio.h>
int gcd(int x, int y);
int main() { int x, y, d; printf("vvedite drob:\n"); scanf("%d%d", &x, &y); d = gcd(x, y); printf("NOD %d/%d\n",d); return 0; }
int gcd(int x, int y) { while (y != 0) { int r = x % y; x = y; y = r; }
return x; } Теперь не могу элементарного сократить дробь...
|
|
« Последнее редактирование: 09-11-2005 08:42 от Hamster »
|
Записан
|
|
|
|
Alf
Гость
|
 |
« Ответ #39 : 09-11-2005 08:49 » |
|
Если у тебя есть НОД числителя и знаменателя, просто подели на него числитель и знаменатель - и все.
|
|
|
Записан
|
|
|
|
|