Показать полную графическую версию : Уголок Ленивого Программиста
Напишите программу, пожалуйста »
Правила Форума (http://forum.oszone.net/announcement-21-187.html)
Iska, бесполезно, по моему автор даже не в теме о том какой ему язык нужен.
Пожлуйста напишите на #include <stdio.h> »
moonk1n, И в чём сложность? Опишите математически вашу задачу забыв о программировании. К примеру похудел он на 25 кг. Что дальше? Цифры у вас есть.
Bazarabolt
07-02-2014, 23:47
Я немного нуб в с++, но вот попробывал накатать, скомпилировалось удачно
#include <iostream>
#include <stdio.h>
int main()
{
using namespace std;
setlocale(LC_ALL, "Russian");
int i = 0;
double x = 0;
double y = 0;
cout << "На сколько килограмм похудел Виннипух? : " ;
cin >> i ;
x = (i * 0.4536);
y = (i * 0.0283);
cout << "Винни похудел на "<< x << " фунтов" << endl;
cout << "Винни похудел на "<< y << " унций" << endl;
return 0;
}
Bazarabolt, хорошая попытка, но 2 ошибки:
Считает неправильно. Нужно делить, а не умножать.
По заданию требуется использовать stdio.h. У Вас она подключена, но не используется. Ввод и вывод нужно реализовать через scanf() и printf(), а не через потоки.
А считать нужно и в фунтах и в унциях или и в фунтах и в унциях по отдельности?
А считать нужно и в фунтах и в унциях или и в фунтах и в унциях по отдельности? »
«И того, и другого, и можно без хлеба» ;).
Bazarabolt
11-02-2014, 01:12
Bazarabolt, хорошая попытка, но 2 ошибки:
Считает неправильно. Нужно делить, а не умножать.
По заданию требуется использовать stdio.h. У Вас она подключена, но не используется. Ввод и вывод нужно реализовать через scanf() и printf(), а не через потоки.
ну да 4 часа ночи дают о себе знать) Только я не понял почему нельзя использовать потоки, так ведь проще по-моему
так ведь проще по-моему »
И даже правильнее. Но есть задание, в котором сказано использовать stdio.h, а это библиотека сишных функций ввода/вывода.
pashasnuff@vk
08-03-2014, 15:03
Фортран 77 и 90
В каждом столбце матрицы изменить положение элементов таким образом, чтобы вначале распологались отрицательные элементы а потом
остальные по убыванию.
Смотри прикрепленные картинки.
Нужно решить задачу с использованием Подпрограмм RAZD и UPOR
но есть одна загвоздка, в подпрограмме RAzd(A,m,F,k) не совсем понятно что такое F и как его задавать
Common /N/b
External F
Dimension a(5,6),B(5)
Real a,F,B
Integer I,j,x,k
data A/5.3,-0.25,1.35,2.25,-0.5,2.1,7.1,-2.5,0.9,-1.7,-3.2,4.3,6.83,-4.3,3.7,-1.25,-0.7,0.35,5.25,-1.25,0.5,-1.1,1.8,-0.83,8.9,-3.05,0.15,-1.7,4.1,2.0/
!read(*,*)A
write(*,45)
45 format(6x,'Matrica A')
write(*,76)((A(i,j),j=1,6,1),i=1,5,1)
76 format(6(3x,f5.2))
Do j=1,6,1
K=0
Do i=1,5,1
If(a(I,j)<0) then
K=k+1 ! определяем K
Endif
Enddo
Do i=1,5,1
B(i)=0 ! выделяем из матрицы вектор в котором будем менять местами элементы
B(i)=A(I,j)
Enddo
RAzd(B,5,x,k) !вот тут нужно применить эту подпрограмму для выделенного вектора B
Upor(a,5,6) !со второй подпрограммой все ясно
write(*,55)
55 format(6x, 'perestavlennaya Matrica A')
write(*,76)((a(i,j),j=1,6,1),i=1,5,1)
END
А вот с функцией F проблемы
Real function F(x)
Integer x
Real B(5)
Common /N/b
F=B(x)
Return
End
А еще непонятно что в общую область брать
pashasnuff@vk
08-03-2014, 15:45
Фортран 77 90
Среди слов текста найти счастливые числа: 6-значное число у которого сумма первых трех цифр равно сумме последний трех цифр.
Помогите пожалуйста!
найти счастливые числа »
Есть несколько вопросов/рекомендаций:
================================
1. Среди слов текста --- что под этим понимается…???...
Tекстовая строка эти текстовый файл…???... Предлагаю ограничиться текстовой строкой. Зачем Вам файл, который может занимать гигабайты на харде. Ограничились буфером экрана и ладно… В любом случае задачку придётся сводить к поиску в не слишком большом буфере.
2. Под текстовой строкой предлагаю ограничиться ASCII кодом. --- Просто так проще… Во-пеовых многие реализации Фортрана не очень хорошо работают с кирилицей. Во-вторых --- зачем Вам заморочки с Unicode…???…
3. Вот такие вхождения следует обрабатывать… 123312, когда разделители с обоих сторон пробелы. Можно обрабатывать/детектировать и такие, когда присутствует знак целого числа +123312 -123312. А вот такие, когда слиплось, видимо следует игнорировать…???... когда нет разделителя…???... Ну и сбалансированные круглые скобки, возможно, корректны --- зачем ещё и с этим заморачиваться…???...
См текст ниже
Blanks in free source 123312 form may not appear within tokens, such as names or symbols consisting of more than one character, except that blanks may be freely used in format specifications. For instance, blanks may not appear
between the +123312 characters of multicharacter -123312 operators such as∗∗and.NE. Format specifications (123312) are an exception 123312because123312 blanks may appear within edit descriptors such as BN, SS, or TR in format specifications. On the other hand, a (+123312) blank (-123312) must be used to separate a statement keyword, name, constant, or label
from an adjacent name, constant, or label. For example, the blanks in the
following statements are required.
ЗЫ Не знаю, чем думают Ваши преподаватели, когда дают студентам задачи, которые совсем не для Фортрана… И куда катиться мир…???...
pashasnuff@vk
09-03-2014, 12:00
Tau_0
НАпример вводишь любой текст типо
jgasfjdsjgu sekjgbsjdhguie sdhgskg 123jkdhgh4 343 267 666666
этот тект следует обработать и найти число, тут оно 666666
а если бы было -666666 то его надо пропускать
Почитал условия задач, сломал остатки мозга :crazy:
Как легко жить, не думая над такими задачами :gitara:
Просто ради интереса объясните неучу, что это за вражеские шифровки под спойлерами? :-)
что это за вражеские шифровки под спойлерами? »Кто то хочет, что бы за него сделали домашку по информатике.
tratata55
04-02-2016, 03:16
Срочно нужна помощь!!!! с командировки задержался а завтра последний день сдачи, не оставайтесь равнодушными!!)) надо на с++ 6 заданий сделать:
1) Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали при счете слева направо, второе – номер горизонтали при счете снизу вверх. Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. На поле (k,l) расположен слон. Угрожает ли он полю (m,n) )?
2) Дан правильный N-угольник с центром в точке (X, Y) и с радиусом описанной окружности R. Найти координаты всех вершин многоугольника.
3) Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Найти слова, у которых первый и последний символы совпадают. Подсчитать их количество.
4) Изобразить на экране прямоугольник с круглым отверстием, стороны которого окрашены в разные цвета, вращающийся вокруг горизонтальной или вертикальной оси с постоянной угловой скоростью.
5) Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры.
6) Дан файл координат вершин ломаной линии на плоскости. Определить, имеет ли ломаная линия самопересечения, если да, то записать в файл G координаты точек самопересечения.
tratata55
04-02-2016, 06:33
одна есть, выложу может тоже кому понадобится
5) Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры.
#include <iostream>
#include <string>
#include <fstream>
#define PROGRAM_NAME argv[0]
#define INPUT_NAME argv[1]
#define OUTPUT_NAME argv[2]
int main(int argc, char ** argv){
if ( argc < 3 ){
std::cerr << "Usage: " << PROGRAM_NAME << " input_file_name output_file_name" << std::endl;
return 1;
}
std::ifstream ifs(INPUT_NAME);
if ( ! ifs.is_open() ){
std::cerr << PROGRAM_NAME << ": can't open file " << INPUT_NAME << " for input!" << std::endl;
return 1;
}
std::ofstream ofs(OUTPUT_NAME);
if ( ! ofs.is_open() ){
std::cerr << PROGRAM_NAME << ": can't open file " << OUTPUT_NAME << " for output!" << std::endl;
return 1;
}
std::string buf;
while ( std::getline(ifs, buf) ){
if ( buf.find_first_of("0123456789") != std::string::npos ){
if ( ! (ofs << buf << std::endl) ){
std::cerr << PROGRAM_NAME << ": can't write to " << OUTPUT_NAME << std::endl;
return 1;
}
}
}
if ( ifs.bad() ){
std::cerr << PROGRAM_NAME << ": can't read from " << INPUT_NAME << std::endl;
return 1;
}
ifs.close();
ofs.close();
std::cerr << PROGRAM_NAME << ": just finished." << std::endl;
return 0;
}
Во второй задаче множество решений бесконечно.
1 задача
#include <stdio.h>
int f(int k, int l, int m, int n)
{
int tk,tl;
for(tk = k,tl = l;tk > 0 && tl > 0;tk--,tl--)
if (tk == m && tl == n) { return 1;}
for(tk = k,tl = l;tk < 9 && tl < 9;tk++,tl++)
if (tk == m && tl == n) { return 1;}
for(tk = k,tl = l;tk < 9 && tl > 0;tk++,tl--)
if (tk == m && tl == n) { return 1;}
for(tk = k,tl = l;tk > 0 && tl < 9;tk--,tl++)
if (tk == m && tl == n) { return 1;}
return 0;
}
void main()
{
printf("%d\n", f(4,4,2,6));
}
3 задача
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
typedef unsigned char unc;
struct buf
{
unc* buf1;
int n;
buf(){n=0;buf1=0;}
~buf(){if(buf1)delete buf1;}
buf(int i){buf1=new unc[i+1];buf1[i]='\0';n=i;}
void add0(unc a){buf1=new unc[2];buf1[0]=a;buf1[1]='\0';n=1;}
void add(unc a){if(n==0){add0(a);return;} int i;unc* buf2=new unc[n+2];for(i=0;i<n;i++) buf2[i]=buf1[i];buf2[n]=a;buf2[n+1]='\0';n=n+1;delete [] buf1;buf1=buf2;}
void add10(unc* a, int n1){int i;buf1=new unc[n1+1];for(i=0;i<n1;i++) buf1[i]=a[i]; buf1[n1]='\0';n=n1;}
void add1(unc* a, int n1){if(n==0){add10(a, n1);return;} int i, j;unc* buf2=new unc[n + n1+2];for(i=0;i<n;i++) buf2[i]=buf1[i];for(i=n,j=0;j<n1;j++, i++) buf2[i]=a[j];buf2[n+n1]='\0';n=n + n1;delete [] buf1;buf1=buf2; }
int len(unc* a){int n;int i;n=0;for(i=0;a[i]!='\0';i++) n++;return n;}
void add1(unc* a){int n1=len(a);if(n==0){add10(a, n1);return;} int i, j;unc* buf2=new unc[n + n1+2];for(i=0;i<n;i++) buf2[i]=buf1[i];for(i=n,j=0;j<n1;j++, i++) buf2[i]=a[j];buf2[n+n1]='\0';n=n + n1;delete [] buf1;buf1=buf2;}
void print(){if(buf1){int i;for(i=0;i<n;i++) printf("%c", buf1[i]);printf("\n");} }
};
void main()
{
unc s[120];
int i;
int ln;
int fl1;
buf* t;
int s1;
t = 0;
ln = 120;
fl1 = 0;
s1 = 0;
s[0]='t';s[1]='e';s[2]='x';s[3]='t';
s[4]=' ';s[5]='e';s[6]='x';s[7]='e';
s[8]=' ';s[9]='e';s[10]='x';s[11]='x';
s[12]=' ';s[13]='x';s[14]='x';
s[15]='\0';
for(i = 0; s[i] != '\0' ;i++)
{
if (fl1 == 0 && s[i] != '\x20') { fl1 = 1; t = new buf; t->add(s[i]); }
else if (fl1 == 0 && s[i] == '\x20') {}
else if (fl1 == 1 && s[i] != '\x20') { if (t) t->add(s[i]); }
else if (fl1 == 1 && s[i] == '\x20') {
if (t) { printf("%d ", t->n); if (t->buf1[0] == t->buf1[(t->n)-1]) s1++; t->print(); delete t; } fl1 = 0; }
}
if(t) { printf("%d ", t->n); if (t->buf1[0] == t->buf1[(t->n)-1]) s1++; t->print(); delete t;}
printf("%d ", s1);
}
6 задача
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define N 4
struct point
{
double x;
double y;
};
int f(double x1, double y1, double x2, double y2,double x3, double y3, double x4, double y4)
{
double a1,b1,c1; double a2,b2,c2; double x, y;
a1 = y1 - y2; b1 = -(x1 - x2); c1 = x1*y2 - x2*y1; printf("%f %f %f\n", a1, b1, c1);
a2 = y3 - y4; b2 = -(x3 - x4); c2 = x3*y4 - x4*y3; printf("%f %f %f\n", a2, b2, c2);
if (a1*b2 - a2*b1 == 0)
return 0;
else
{
x = (b1*c2 - b2*c1) / (a1*b2 - a2*b1);
y = (c1*a2 - c2*a1) / (a1*b2 - a2*b1);
printf("x %f y %f\n", x, y);
if ( x > x1 && x < x2 && y > y1 && y < y2 && x > x3 && x < x4 && y > y3 && y < y4) return 1;
else if ( x > x2 && x < x1 && y > y1 && y < y2 && x > x3 && x < x4 && y > y3 && y < y4) return 1;
else if ( x > x1 && x < x2 && y > y2 && y < y1 && x > x3 && x < x4 && y > y3 && y < y4) return 1;
else if ( x > x1 && x < x2 && y > y1 && y < y2 && x > x4 && x < x3 && y > y3 && y < y4) return 1;
else if ( x > x1 && x < x2 && y > y1 && y < y2 && x > x3 && x < x4 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x3 && x < x4 && y > y3 && y < y4) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x4 && x < x3 && y > y3 && y < y4) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x3 && x < x4 && y > y4 && y < y3) return 1;
else if ( x > x1 && x < x2 && y > y1 && y < y2 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y1 && y < y2 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x1 && x < x2 && y > y2 && y < y1 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y1 && y < y2 && x > x4 && x < x3 && y > y3 && y < y4) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x4 && x < x3 && y > y3 && y < y4) return 1;
else if ( x > x2 && x < x1 && y > y1 && y < y2 && x > x4 && x < x3 && y > y4 && y < y4) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y1 && y < y2 && x > x3 && x < x4 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x3 && x < x4 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y1 && y < y2 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x2 && x < x1 && y > y2 && y < y1 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else if ( x > x1 && x < x2 && y > y2 && y < y1 && x > x3 && x < x4 && y > y3 && y < y4) return 1;
else if ( x > x1 && x < x2 && y > y2 && y < y1 && x > x4 && x < x3 && y > y3 && y < y4) return 1;
else if ( x > x1 && x < x2 && y > y2 && y < y1 && x > x4 && x < x3 && y > y4 && y < y3) return 1;
else return 0;
}
}
void main()
{
int i;
int j;
struct point a[N];
a[0].x = 1.0; a[0].y = 1.0;
a[1].x = 2.0; a[1].y = 3.0;
a[2].x = 3.0; a[2].y = 1.0;
a[3].x = 1.0; a[3].y = 2.0;
for (i = 0;i < N;i++)
for (j = i+1; j < N-1; j++)
printf("%d %d %d\n", i, j, f(a[i].x, a[i].y, a[i+1].x, a[i+1].y, a[j].x, a[j].y, a[j+1].x, a[j+1].y));
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.