Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [Все]   Вниз
  Печать  
Автор Тема: помогите написать программу  (Прочитано 42200 раз)
0 Пользователей и 1 Гость смотрят эту тему.
CAHTA
Гость
« : 12-09-2005 08:57 » 

Даны натуральное число n и символьный файл, каждая последовательность компонент которого представляет сабой текст на русском языке. Абзац ( красная строка) обозначен символом ^. Вывести этот текст строками длины n, начиная абзац с трех пробелов. В каждом абзаце использовать выравнивание по правому краю. Пробелы распределить равномерно между словами.

+ к этому нада сделать
1. выбор ввода исходных данных из файла или с клавиатуры
2. выбор вывода результатов на экран или в файл.

-------------------------------
пожалуйста помогить , неуспеваю сделать Жаль
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #1 : 12-09-2005 11:14 » 

Чем собственно помочь-то надо? Только не отвечай "сделать".
ЗЫ: Задача не корректно поставлена: " В каждом абзаце использовать выравнивание по правому краю. Пробелы распределить равномерно между словами." При выравнивании по правому краю пробелы не добавляются, а добавляются они при выравнивании "по ширине".
Записан

Удачного всем кодинга! -=x[PooH]x=-
CAHTA
Гость
« Ответ #2 : 12-09-2005 11:27 » 

PooH, эт ты меня спрашиваеш? я сам не могу врубиться в задание. мне его дали. и я незнаю как его делать:(
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #3 : 12-09-2005 11:34 » 

да вроде все понятно с заданием... что именно не понятно? вырезаешь из теста по одному слову и собираешь новый текст в каждой строке д.б. не больше N символов, если очередное слово выходит за N, то его в следующуюю строку, а текущую строку расширяешь до N символов. При этом не забывая ^ заменять на 3 пробела.
Записан

Удачного всем кодинга! -=x[PooH]x=-
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #4 : 12-09-2005 11:37 » 

OFFTOP: Правда, вот это - "каждая последовательность компонент которого представляет сабой текст на русском языке" как-то не по-русски звучит, наверное, биологичка задание соотавляла Улыбаюсь
Записан

Удачного всем кодинга! -=x[PooH]x=-
CAHTA
Гость
« Ответ #5 : 12-09-2005 11:40 » 

мржеш отяб какиениб наброски скинуть?
Записан
PooH
Глобальный модератор

ru
Offline 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
Глобальный модератор

ru
Offline 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
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 13-09-2005 09:51 » 

Alf, может хватит измываться над студентами Улыбаюсь Улыбаюсь Улыбаюсь
Записан

ещё один вопрос ...
Alf
Гость
« Ответ #17 : 13-09-2005 09:59 » 

Ни хрена себе заявочки... Робкий намек хоть немного попробовать подумать самому уже трактуется как издевательство над личностью?

Ребята, вы форумом не ошиблись? Тут вроде программисты общаются и желающие ими стать. Покупку дипломов нужно среди спама искать, мне регулярно приходит в ящик. Или Хоттабыча искать.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #18 : 13-09-2005 10:03 » 

слушай. а как реализовать ввод n чисел? n задается пользователем.

мне нужно ввести матрицу с клавиатуры .

САНТА, Альф прав. Для начала напиши алгоритм в хотя бы человеческих словах  и вывали сюда.

задача-то простейшая, вернее - алгоритм её решения
Записан

nikedeforest
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #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
Глобальный модератор

ru
Offline 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? может кто поможет мне, неучу. Вам, супер-пупер хакерам, это наверняка расплюнуть... Ага
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #27 : 26-09-2005 09:20 » 

Carrie Bradshaw

> может кто подскажет сайтик, где бы мне, неучу, объяснили вообще его азы.

- ты этот сайт уже нашла Улыбаюсь

> найти максимальный беззнаковый long
 - непонятен вопрос... Хотя - загрузи в unsigned long ноь и отними 1

unsigned long L;
L=0;
L--;

> максимальную степень, в которую можно возвести 2
 - да в любую... Смотя в какой тип тебе надо вместить результат. Сколько бит в типе - "во столько раз минус один" можно возвести Улыбаюсь
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #28 : 26-09-2005 09:21 » 

и ещё - хакерством мы тут не промышляем и никому не советуем Ага
Записан

Carrie Bradshaw
Гость
« Ответ #29 : 26-09-2005 09:35 » 

Знаю, что обнаглевшая совсем стала, но файл уже с такой программкой не выложите? а то вообще ничерта непонятно...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #30 : 26-09-2005 09:44 » 

да нет, не обнаглевшая, вполне вежливая девушка Улыбаюсь

я не на борланде пишу, поэтому готовое дасть не могу. Но - что тут делать-то?
Бери любую твою уже готовую программу и копируй туда (только не пойму точно - что надо - и что за заголовочные файлы ты привела? зачем они?)

формулировка вопросов (в 4-м отсюда посте вверх) - непонятна
Записан

Carrie Bradshaw
Гость
« Ответ #31 : 26-09-2005 09:56 » 

я и сама не очень вообще поняла, что делать-то. просто мне сказали. а то, что сказали я и говорю вам - максимальную беззнаковую длинную константу надо на экран вывести...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #32 : 26-09-2005 10:06 » 

повторяю, точно не помогу, надо тех, кто пользуется борландом - я не знаю как там у вас на экран выводите, но думаю должно быть что-то вроде:

(максимальный unsigned long )

#include <iostream>
int main(void)
{
   unsigned long uL=0;
   uL--;
   //как распечатать - не знаю Улыбаюсь , что-то вроде
   cout << uL;

   return 0;
}
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline 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
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline 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 » 

Если у тебя есть НОД числителя и знаменателя, просто подели на него числитель и знаменатель - и все.
Записан
Страниц: 1 2 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines