Показать полную графическую версию : [решено] Помогите решить задачу по С++
Страниц :
1
2
3
4
[
5]
6
7
8
9
10
11
12
13
14
15
16
Desvi, огорчу.
Все подряд, местоположение не играет роли »
это не верно. В задании сказано после второго самого большого числа.
Четные числа это те которые делятся на 2 (2,4,6,8,10) »
Не хватает какого-то условия. Т.к. 1,3,5,7,9 тоже делятся на два!
В условии указана работа с указателями. Из чего следует вопрос - как организован массив (вектор)? Стек, Очередь, Двунаправленный список?
Если построен на указателях, то целесообразно будет ввести функцию(ции) "перехода" между элементами массива. (Перемещение текущего указателя в массиве. )
сделал прогу, преподнес её преподавателю »
Тегом [CODE] оформи, и приведи исходник.
Цитировать »
Вот что уменя получилось:
#include "stdafx.h"
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int n = 4;
float a[4][4];
ifstream F("1.txt");
for (int i = 0; i < n * n; ++i)
F >> a[i / n][i % n];
F.close();
for (int i = 0; i < n; ++i){
for (int j = 0; j < n; ++j)
printf("%.f ", a[i][j]);
printf("\n");
}
int i, j;
for (int k = 0; k < n; ++k){
a[k][k] = sqrt(a[k][k]);
for (i = k + 1; i < n; ++i){
a[i][k] = a[i][k] / a[k][k];
}
printf("%d\n", k);
for (j = k + 1; j < n; ++j){
for (i = j; i < n; ++i)
a[i][j] = a[i][j] - a[i][k] * a[j][k];
// for (i = 0; i < k; ++i)
// a[j][k + 1] = a[j][k + 1] - a[i][j] * a[k + 1][i];
}
}
for (i = 0; i < n; ++i){
for (j = 0; j < n; ++j)
printf("%.f ", a[i][j]);
printf("\n");
}
return 0;
}
Dimasv, во первых оформи код тегом [CODE], а во вторых напиши комментарии.
Да, и про табуляцию текста не забудь. Привыкай уважать в первую очередь себя, и предоставлять на проверку читаемый код.
В дополнение к ним (комментариям), можешь дать ссылку на реализуемую расчетную формулу.
С виду, уже на что-то похоже. Давай, внеси поправки, и уже можно будет детально порыться :)
andrey12qw
11-06-2010, 01:02
Помогите решить эти три задачи.
1.Используя функцию найти сумму цифр трехзначного числа.
2.Используя функцию найти количество цифр данного числа.
3.Даны три целых числа. Определить, сумма цифр которого из них больше. Подсчет суммы цифр организовать через полпрограмму.
1.Используя функцию найти сумму цифр трехзначного числа »пойдёт? (http://forum.oszone.net/post-910225-4.html)
2.Используя функцию найти количество цифр данного числа. »Тот же самый код что и выше, только добавить после этой строки
...
// определяет количество цифр в нем и их сумму.
lenght = Rasriad(enterNumber);
cout<<"Kol-vo chisel = "<<lenght<<endl; // Вот эту строку
...3.Даны три целых числа. Определить, сумма цифр которого из них больше. Подсчет суммы цифр организовать через полпрограмму. »Прогнать в цикле три числа, результат сумм проверить. Вывести максимальное.
ramonbl4
29-06-2010, 20:58
В файле с текстом программы на Си удалить все комментарии, и заменить все "printf" на "puts" , подсчитать количество операторов "puts" и записать это число в выходной файл.
Спасибо огромное (зарание)!
romashka7
29-09-2010, 13:27
Всем доброго времени суток!
Есть не простая задачка по языку Си...
Необходимо создать программу (через функции пользователя), которая, после введения 2-х матриц "А" и "В" считает 3-ю матрицу по формуле: С=(2А+В)*В(Траспонир.)
Матрицы состоят из 9ти элементов (размер 3*3)...
Помогите пожалуйста......буду очень-очень благодарен...
Помогите пожалуйста. »
Чем помочь то?
буду очень-очень благодарен. »
Админ конфеты не пьет! ;)
Если по делу, то программировать за тебя с нуля - это не дело.
Если ты расписываешь всю математику и все функции, то можно подумать над программной реализацией.
я тут немного накропал, решение не полностью (не помню как матрицы умножать :) ), но в целом думаю можно использовать
#include "stdafx.h"
#include "locale.h"
#include "stdio.h"
const int N=4; // порядок матрицы 3х3
int inp(int matr[N][N]) // ввод матрицы
{
int i, j;
for (i=1; i<=N-1; i++)
for (j=1; j<=N-1; j++)
{
printf("\n[%d.%d]=",i,j);
scanf("%d",&matr[i][j]);
}
return 0;
}
int out(int matr[N][N]) // вывод матрицы
{
int i, j;
for (i=1; i<=N-1; i++)
{
for (j=1; j<=N-1; j++)
printf("%d ",matr[i][j]);
printf("\n");
}
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "rus"); // вывод русских символов в консоль
int A[N][N], B[N][N], C[N][N];
printf("Введите значения для матрицы А:\n");
inp(A);
printf("\nВведите значения для матрицы B:\n");
inp(B);
printf("\nВы ввели:\n\nМатрица А:\n");
out(A);
printf("\nМатрица B:\n");
out(B);
// выполнение задания
// вычисление скобок
int h, g;
for (h=1; h<=N-1; h++)
for (g=1; g<=N-1; g++)
C[h][g]=2*A[h][g]+B[g][h];
// умножение на транспонированную матрицу В
// сюда надо добавить код для умножения матриц
printf("\nРезультат матрица С:\n");
out(C);
return 0;
}
написано в MVS 2010
p. s. lxa85, жду конструктивной критики :)
lxa85, жду конструктивной критики »
Hector, А какая тут критика? Все просто, логично, понятно.
С комментариями и пояснениями. Транспонирования матрицы в отдельную функцию дописать, только и всего.
Транспонированная матрица — матрица AT, полученная из исходной матрицы A заменой строк на столбцы.
Стало быть аргументы множителя поправить, всего делов.
Молодец! Другого сказать не могу. :)
Здравствуйте. Помогите пожалуйста с лабораторной по информатике. (C++ / Ассемблер) Вероятно, элементарное задание... Но теории по этой теме нам не дали абсолютно, а то, что есть в методичке, слишком сжато и неполно.
Задание - написать код программы в Visual C++ ( Win32).Все задания должны выполняться с помощью ассемблерных вставок. Исходные данные можно размещать в переменных С++. Варианты в приложенной картинке. Первые два я сделал.
P.S. И дайте пожалуйста ссылки, что можно с нуля почитать по этой теме.
.Rock., ссылка на тему Прямой/Обратный/Дополнительный код - Основы машинной арифметики с двоичными числами (http://static.dstu.edu.ru/informatics/mtdss/part2.html)
О делении со знаком (и без) - Команды МП К1810 (http://www.support17.com/index.php?option=com_content&task=view&id=252)
Спасибо. Но как-то не очень понятно. А поподробнее насчет регистров и т.п. ничего нет?
.Rock., поищи книгу " Питер Абель. Ассемблер и программирование для IBM PC " она даст достаточно исчерпывающие ответы на все начальные вопросы по ассемблеру.
Gelos_911
19-10-2010, 12:51
Помогите кто может C++
Заполнять нулями нечетные столпци массива (массив N10 M15)
Klim1988
19-10-2010, 14:43
Доброго время суток уважаемые форумчане, сильно не пиннайте ламера, т.е. меня, задали задачу, а я третий день сижу и не можем с парнишкой разобраться. Задание по себе не сложное помогите пожалуйста его нужно выполнять в среде программирования Visual C. Создавая MFC-приложение. Предусмотреть визуализацию всех действий, т.е. массив создавать в виде визуальных компонентов.
Задание:
Дан текст. С помощью процедуры преобразовать первую букву каждого слова в предложении в заглавную.
Gelos_911, двойной вложенный цикл с проверкой на нечетность и с заполнением массива нулями.
В чем проблема то?
Klim1988, Предусмотреть визуализацию всех действий, т.е. массив создавать в виде визуальных компонентов. »
Визуализация действий и массив визуальных компонентов - разные вещи!
Вам надо проиллюстрировать свою программу, чтобы пользователь видел как движется курсор, как он понимает где начинается слово, как буква становится заглавной и т.д.
поэтому пишите пока основную программу, а потом добавите модуль "визуализации действий" - переопределения скорее всего объекта Label, и его отрисовка с шагом в полсекунды.
Klim1988
20-10-2010, 06:39
поэтому пишите пока основную программу, а потом добавите модуль "визуализации действий" - переопределения скорее всего объекта Label, и его отрисовка с шагом в полсекунды. »
спасибо за разяснения, но вот втом то и дело что не получается написать код всей программы, не могу понять как ее сделать, так как это мы не проходили долбанутое учереждение :durak: , дают задание которые мы тольто тольто будем проходить,
Можно ли код программы если вас так это не затруднит написать?
Klim1988, не то что незатруднит,но мне просто некогда. До начала ноября - 100% Да и потом не легче.
В чем проблема то ? Как написать основную программу, или как ее визуализировать?
Для каждого рассписать :
1. Предложения, какие попытки были сделаны, как пытался решить проблему.
2. Приведи хотя бы примерное видение решения. Составь блок схему и т.д.
Или еще проще. Дать наводящий вопрос я могу, но только после того, как увижу твои рассуждения. Т.е. подскажу "куда думать дальше". Решать с нуля и думать за тебя я не буду. (учится тебе, решать тебе, защищаться тебе, голова твоя и надо это всё тоже тебе.)
terminalek
21-10-2010, 02:22
Здравствуйте!
Я хотел проконсультироваться по поводу одного задания.
Нужно составить программку, которая будет сжимать текст таким образом:
что при команде project -c N (где N >=1, по этому параметру программа должна найти повторяющиеся блоки длиной N, максимально 9 повторяющихся знаков)
Для наглядности пример при N=3:
Было так:
"Uiiiiiii, blablabla" a "blebleble" a "hophop hophop"
Стало так:
"U2iiii, 3bla" a "3ble" a "2hop 2hop"
Для чтения поступающего текста можно лишь использовать не форматириующие функции, например getchar(), getc() или fgetc().
Сам текст будет состоять из букв латинского алфавита, цифр, пробелов, знака конца строки.
Мне пока не понятен план действий. То есть не могу составить алгоритм. В этом то и есть проблема. Так же актуален вопрос с помощью какой функции возможно реализовать замену текста (в php я знаю str_replace).
Была еще задача, целью которой было заменить последовательность пробелов, табуляций, одним пробелом/табом. Сам полностью рабочий код я не смог сделать, но нашел в интернете такой:
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int sp = 0, c;
while( (c = getchar()) != EOF) {
if(isspace(c)) {
if(sp) // что означает данное условие? если isspace возвращает 0?
continue; // суть continue тоже не совсем понял, объясните пжлст.
else sp = 1; // что дает sp = 1?
}
else
sp = 0;
putchar(c);
}
return 0;
}
Если вас не затруднит ответить на вопросы в коде, то мне будет понятна суть работы программы. А то пытался для себя уяснить, пара моментов все же не понятна. Спасибо за внимание!
Пожалуйста при ответе ориентируйтесь на язык C, синтаксис C++ я пока не расматривал.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.