LINUX.ORG.RU
ФорумTalks

[быдлокод] вот...

 


0

0

Всё, на что я способен. Что посоветуете?

#include <stdio.h>

main()
{

int a, b, c, d, res_1, res_2;

printf("Типа a*b (><=) c*d\n");
printf("Введите значение 'a' : \n"); scanf("%d", &a);
printf("Введите значение 'b' : \n"); scanf("%d", &b);
printf("Введите значение 'c' : \n"); scanf("%d", &c);
printf("Введите значение 'd' : \n"); scanf("%d", &d);




res_1 = a * b; res_2 = c * d;

if (res_1 < res_2)
{
printf("Произведение 'a' и 'b' меньше произведения 'c' и 'd'\n");
}


else if (res_1 > res_2)
{
printf("Произведение 'a' и 'b' больше произведения 'c' и 'd'\n");
}

else if (res_1 = res_2)
{
printf("Произведение 'a' и 'b' равно произведению 'c' и 'd'\n");
}

}




Никогда не мог понять, зачем творить "быдлокод"...

Terrens
()

> else if (res_1 = res_2)

можно я не буду плакать, а? про переполнения вообще в дугу забыли.

gunja
()
Ответ на: комментарий от gunja

Плакать не надо, надо сказать, что не так (здесь происходит присваивание вместо сравнения), так как человек не претендует на что-либо.

RommeDeSerieux
()

и ещё чутка короче получится.

double r = a*b - c*d;

if( r < 0) {}
else {
 if (r > 0) {
 }
 else 
  {//case egal
  }

gunja
()
Ответ на: комментарий от RommeDeSerieux

ну собственно должен согласить, что в той ситуации уже не важно что делать с результатом (до тех пор, пока не будет логики: больше, меньше, равно, нибольше-нименьше)

gunja
()

>int a, b, c, d, res_1, res_2;

int * int - сколько будет?

>else if (res_1 = res_2)

очень типично. помните "==" - это сравнение.

кстати, а что если одно из чисел отрицательное? Или так и должно быть? и вообще, какое-то дурацкое применение для С :)

stave ★★★★★
()
Ответ на: комментарий от ShTH

>Нет... дело в том, что это всё, чему я пока научился.....

по какой книге? K&R? какого хочешь добиться результата?

stave ★★★★★
()
Ответ на: комментарий от stave

Да. Хочу научится  нормально писать программы вроде тех, что идут в составе coreutils (для практики)

ShTH
() автор топика
Ответ на: комментарий от ShTH

>Да. Хочу научится нормально писать программы вроде тех, что идут в составе coreutils (для практики)

Тогда тебе ещё учить и учить C, одновременно с этим изучая gcc, gdb и valgrind. А затем libc.

Оно тебе надо?

Demon37 ★★★★
()

Хорошо. За исключением ошибки:

> else if (res_1 = res_2) 

(Хотя уровень явно нулевой.)

Больше практики, и всё будет.

Igron ★★★★★
()
Ответ на: комментарий от Demon37

> Тогда тебе ещё учить и учить C

да

> одновременно с этим не привязываясь к gcc, gdb и valgrind с libc.

очевидный (местами граммарнаци) фикс

nikolayd
()

Странно, я почему-то думал, что заместо кириллицы будут какие-нибудь кракозябры.

Camel_Toe
()
Ответ на: комментарий от nikolayd

>очевидный (местами граммарнаци) фикс

Ты прочитай в каком контексте я это сказал.

hint: чел хочет для практики писать утилиты из coreutils.

Demon37 ★★★★
()
Ответ на: комментарий от Demon37

"вроде тех" он хотел.

- распоследний ls нифига не тривиален изнутри
- привязываться к чему-то(gcc,linux) не зная основ - печально

а топикстартеру стоит найти ччто-то вроде "алгоритмы и структуры данных" (или + структуры данных, не помню) и покурить - там > 9000 примеров, заодно и С подтянет

nikolayd
()

А теперь попробуй собрать с помощью

gcc -Wall -Wextra -Werror -std=c99 -pedantic-errors

Deleted
()

лучше учи петон, там о переполнении можно не думать. а на си ты напишешь 100 килобайт кода только чтобы любые числа кушала

olegsov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.