![]() |
С++
есть задача незнаю как написать её на С++ чтоб она правильно работала
помогите!!! Задача: целой переменно S присвоить сумму трехзначного целого числа k. вот и вся задача. |
void main()
{ int s, k, n; cin >> k; s = 0; while(k != 0) { n = k % 10; k = k / 10; s = s + n; } cout << s; } |
большое спасибо
|
Цитата:
ftp://10.10.10.9/incoming/uNsOrT/FIVT/erorr.bmp и вообще помойму получилось не правильно потому что не хватает функций printf и scanf |
Алгоритм решения такой:
s = 0; while(k != 0) { n = k % 10; k = k / 10; s = s + n; } а ввод и вывод, с нужными include делай сам. ЗЫЖ побуквенно сравни что написано и у меня, и что у тебя |
1. Написать программу, которая считывает текст из файла и записывает каждую букву в отдельный элемент массива. Вывести на экран слова начинающиеся с заглавной буквы.
2. Уплотнить заданную матрицу удаляя из нее строки и столбцы, заполнеными только отрицательными элементами. Найти сумму модулей элементов. расположенных ниже главной диагонали. 3. Написать программу, которая выводит на экран слова введенной с клавиатуры строки, в которых гласных больше, чем согласных :help::help::help::help::help: |
Цитата:
во вторых неправильно написал. cout |
вы уверены с выбором факультета7 меня уничтожают такие же вопросы моих одногруппников. правда с фразой 2я ничерта не понимаю в потоках2. а главное что не знаете даже как вывести что-то на экран. вас никто тянуть не будет. ведья есть такая вещь как экзамен и курсовые... млять сижу и плююсь кого нам готовят... грёбаные инженеры... в техан бы вас1
пс6 не работает шифт. часто вместо запятых точка и вместо гневных смайликов цифры. советую тем кто поступил на информатику переходить в кулинарный. ппс6 вместо k = k / 10; красивее k/=10; шоб они повешались... |
Может у кого есть пара минуток глянуть, где я скосячил.
Вобщем задача такова. Нужно ввести две строки, а потом сделать из них одну строку и вывести на экран. Мое решение: Цитата:
1. Вначале я перебираю все элементы первой строки, и получаю число i, которое является индексом последнего элемента в 1-ой строке. 2. Перебираю элементы второй строки, попутно присваивая нужные значения первой строке. Т.е если у меня i получилось в первом переборе равное 3, то по идее в первую строку в элемент с индексом 4 ляжет значение второй строки с нулевым индексом. Вот. Ну и попутно вывожу элементы строки на экран. Результат. Она выводит просто вторую строку и все. Я не понимаю почему не работает. (Может вывод не так организовал?) |
Цитата:
А память выделять в первой строке под сумму строк кто будет? А чо пакет работы со строками нынче не в моде? |
У вас задача написать на C или все-таки на С++? Или препод сам не знает?
Код:
#include <iostream> |
Раз здесь пишу, значит C++.
string это функция работы со строками? В любом случае мне надо делать без этой функции. |
Цитата:
|
СОВЕНОК - спасибо за инфу.
Цитата:
Вобщем все сделал, вопрос более не актуален. |
Цитата:
Просто на debug компилятор сам исправляет твои ошибки. Будущие программисты блин.. а даже элементарной логики в мышлении нету. |
Хватит уже выпендриваться :) Какая разница под сколько символов я выделил память? Эта прога не будет иметь практического применения, здесь имеет значение лишь работоспособность алгоритма. А вместо 30, написать например 1000 и обезьяна сможет.
|
Вместо того, чтобы прислушаться к совету Сабли, ты начинаешь строить из себя умника. А "алгоритм" как-раз и дерьмовый :) И это твое поделие показывает:
1. Что ты не знаешь, что строка заканчивается нулем. 2. Что такое переполнение буфера ты тоже не в курсе. 3. Понятия оптимальности и временной сложности для тебя пустой звук, иначе ты бы не дергал вывод в цикле. 4. Что память неплохо-бы освобождать за собой тебе тоже никто не сказал. |
Цитата:
Цитата:
Короче, раз я такой неудачник, то у меня к тебе просьба. Вот конечный вариант программы: Цитата:
Если подскажешь, то искреннее тебе спасибо за это. |
Цитата:
Цитата:
Код:
#include <iostream.h> |
тыкните пожалуйста пальцем в ошибку... говорит что else не там где надо
Цитата:
|
Цитата:
|
А никто не подскажет где в инете найти электронную книгу или самоучитель по сетевому программированию под UNIX?
|
В bc есть help, только он на английском. Есть ли что похожее, только на русском, то есть надо описания всех директив и операторов.
|
блин, я честно в шоке. Ребята, неужели вы думаете, что всем так легко вначале давалось программирование? Почти уверен, что даже у Casy поначалу возникали похожие трудности, но не думаю, что он лез с вопросами каждый раз, когда ставил ";" в неположеном месте:)
Да, вопросы правда глуповатые, но проблема не в этом. Проблема в том, что вы уже просто отказываетесь думать. А без думания программисты не получаются |
проганье это такая вещь которой если будут учить это полная лажа из зя получится, тут самая тема это само обучение и чтение талмудов, токо если уже это не может помочь то тогда можно обратится за советом )
|
Цитата:
особенно нравится твой синтаксис вывода и ввода я бы функцию написал... |
Ввёл твою программу чтобы "чиста поржать": как я и подозревал в данном случае можешь просто написать
Код:
if(strlen(str)==4) |
Ладно ещё подсказка: считывай функцией gets(), вводи переменую начала слова (к примеру nachalo). nachalo у тебя будет каждый раз на начале каждого слова (по ходу алгоритма переноси), в итоге доходя до пробела ты получаешь длину слова (lenght=i-nachalo), проверяешь на равеноство 4, если равно выводишь посимвольно от nachalo до i, не равно nachalo=++i; и так до конца строки. Ну идея такая если не учитывать знаки препинания. Думаю тебе хотя бы такое надо для начала.
|
имеется массив mass[n][n]
поменять в нем строку со столбцом индексы строки и столбца задавать самому нужен именно этот алгоритм замены столбка со строкой весь мозг сломал уже никак не меняется :) |
for(i=0;i<n;i++)
for(j=i;j<n;j++) { if(i=j) continue; mass[i][j]+=mass[j][i]; mass[j][i]=mass[i][j]-mass[j][i]; mass[i][j]=mass[i][j]-mass[j][i]; } попробуй так А если количество столбцов и строк разное: Во-первых, в задании их количество одинаковое. Во-вторых, если их количество разное, то ты никак её не транспонируешь (вроде так это называется), ну или пришлось бы массив создавать новый с m,n, если первый n,m. Вот-с. |
Товарищи, есть небольшой теоретический вопрос, подскажите пожалуйста. а то я сейчас голову об стену разобью.
Вобщем есть у меня в функции main структура под кодовым названием TEL. Еще объявленна переменная структуы, следующим образом, TEL t[N] (N просто константное число). Как передать эту структуру вместе с переменной в функцию. т .е какие у этой функции будут параметры. Прототип такой: void InStruct(...) . Я пробовол что-то вроде struct TEL &t, но не то. Кто подскажет как правильно? |
Могу ошибаться, но по моему никак. Страктура - это тип, и если он объявлен внутри какой-то функции (в твоем случае функции main), то и пользоваться им можно только внутри этой функции. Если вынесешь объявление за пределы функции (как правило сразу после include'ов), то функцию можно будет объявить так:
void InStruct(TEL *t, int size) { ... } |
Переменную передать можно примерно так
void InStruct(void *t,int size); правда работать ты с ней нормально не сможешь ;) Читай внимателньей главу про область видимости имён. |
Спасибо. Сегодня на лабараторной работе использовал вариант, как у Case. Все дело было в том, что шаблон структуры надо было объявить и в функции - я этого не знал :)
|
Ребята выручайте плиз.
Товарищу прогу нада написать. у него ошибка где не знаю проги нету. Вот условие: Написать программу которая проверяет, является ли введённая с клавиатуры строка двоичным числом. завтро я спрошу как решал, у него не получилось. если не трудно попробуйте написать. |
printf("%s",str); считывает лишь 1 слово (до пробела илим переноса строки, может даже до табуляции, точно незнаю)
|
Тирекс, а как в массив тогда записать? Надо ведь заранее знать количество слов. Значит либо дважды проходить весь файл (в первый раз, чтоб узнать количество слов), но это некрасиво. Использовать списки - думаю пока сложновато для авторов поста. Изучить STL??? Им все таки проще дважды файл пройти)))
Ах да, есть ведь еще вариант создать нереально большой массив, в которых можно запихать дофига и больше слов. Никогда не любил этот вариант, особенно после того, как некоторые преподы специально делали файл, который не влезал в мой массив:) Но, пожалуй, в данном случае он подойдет лучше остальных |
Цитата:
|
Цитата:
Цитата:
|
fscanf(<указатель>,"<управляющая строка>",<список ввода>);
Указатель - указатель на файл, управляющая строка - сам текст, список ввода - переменные. Также и с директивой fprintf. В твоем примере в printf нет списка переменных и точки с запятой после директивы. В программе сплошные ошибки, она у тебя на считывании массива в бесконечный цикл войдет.)) |
| Текущее время: 18:21. Часовой пояс GMT +7. |
Форум открыт в июле 2004 г.