Здравствуйте, гость ( Вход | Регистрация )

21 страниц V  « < 14 15 16 17 18 > »   
Ответить в данную темуНачать новую тему
> Помощь с лабами
BHYCHIK
сообщение 21.10.2007 - 22:02

Энтузиаст
****

Группа: Участник
Сообщений: 355
Регистрация: 28.08.2005
Пользователь №: 9490


Написал программу на С++. Задание: "За каждый день апреля известна температура и был ли дождь. После 1ого дождя найти среднее арифметическое температур." Компилятор ошибок не находит, но программа работает неверно.
Код
#include <stdio.h>
void main(){
char d='n';
int den=0;
float t=0;
float td;
while(d=='n'){
  if(den==31){printf("dojda za aprel ne bilo"); break;}
  printf("vvedite tempiraturu: ");
  scanf("%f", &td);
  t=td+t;
  printf("bil li dojde? da - y, net - n ");
  scanf("%c", &d);
  den=den+1;
}
t=t/den;
printf("srenaya temperatura %f\n", t);
}

Но в таком варианте прога работает.
Код
#include <stdio.h>
void main(){
int d=0;
int den=0;
float t=0;
float td;
while(d==0){
  if(den==31){printf("dojda za aprel ne bilo"); break;}
  printf("vvedite tempiraturu: ");
  scanf("%f", &td);
  t=td+t;
  printf("bil li dojde? da - 1, net - 0 ");
  scanf("%d", &d);
  den=den+1;
}
t=t/den;
printf("srenaya temperatura %f\n", t);
}

Подскажите, что не так с 1 программой?

Сообщение отредактировано BHYCHIK - 22.10.2007 - 21:01
Перейти в начало страницы
 
+Цитировать сообщение
Phoenix
сообщение 22.10.2007 - 14:33

void*
******
орден IV степени
Группа: Участник
Сообщений: 1631
Регистрация: 29.09.2003
Пользователь №: 45


Неверно - это как? Беглое сравнение ошибок не выявляет.
Перейти в начало страницы
 
+Цитировать сообщение
BHYCHIK
сообщение 22.10.2007 - 15:35

Энтузиаст
****

Группа: Участник
Сообщений: 355
Регистрация: 28.08.2005
Пользователь №: 9490


Даже не считывая переменную n, происходит выход из цикла: выводится сообщение "bil li dojde? da - y, net - n ", затем сразу же выводится средняя темпиратура. Я работал в VS2005.

Сообщение отредактировано BHYCHIK - 22.10.2007 - 17:09
Перейти в начало страницы
 
+Цитировать сообщение
Phoenix
сообщение 22.10.2007 - 16:51

void*
******
орден IV степени
Группа: Участник
Сообщений: 1631
Регистрация: 29.09.2003
Пользователь №: 45


Странно. Тогда подробнее. В каком компиляторе первый вариант НЕ работает? в каком варианте он работал?
Попробуй так.
Код
#include <stdio.h>
void main(){
char d[2];
int den=0;
float t=0;
float td;
d[0]='n';
while(d[0]=='n'){
if(den==31){printf("dojda za aprel ne bilo"); break;}
printf("vvedite tempiraturu: ");
scanf("%f", &td);
t=td+t;
printf("bil li dojde? da - y, net - n ");
scanf("%c", d);
den=den+1;
}
t=t/den;
printf("srenaya temperatura %f\n", t);
}


в %c - строго малая c. Это принципиально.
Перейти в начало страницы
 
+Цитировать сообщение
BHYCHIK
сообщение 22.10.2007 - 17:13

Энтузиаст
****

Группа: Участник
Сообщений: 355
Регистрация: 28.08.2005
Пользователь №: 9490


В предыдущем посте я имел ввиду, что Я работал в Визуал студии 2005. На других компиляторах не пробовал. Твоя версия работает с тем же глюком sad.gif . Я так понимаю происходит какая то ошибка при сравнении символьной перемнной d с символьной константой 'n'. С другой стороны он даже не считывает значения переменной d, так что может я и не прав
Перейти в начало страницы
 
+Цитировать сообщение
Guest_Al Jay_*
сообщение 29.10.2007 - 01:22
| Быстрая цитата | Сообщение #306


Гости





замени цикл на for, поставь флаг, если пользователь вводит, что дождь был - циклу break, считаем среднюю температуру. Если цикл весь завершён - говорим, что дождя не было, return из функции.

Синтаксис плюсов не знаю - помог чем мог =)

Тьфу, оказывается уже решили проблему =) Первая прога не работает видимо из-за особенностей сравнения типа char. И вообще, для таких случаев есть тип данных bool =)) который либо true, либо false =)

ps. попробуй в первом случае объявить d константой.

Сообщение отредактировано Al Jay - 29.10.2007 - 01:27
Перейти в начало страницы
 
+Цитировать сообщение
InTestAnalWorm
сообщение 11.12.2007 - 16:15

Это вам не это...
*******
кубок за победу в конкурсах Форумаорден II степени
Группа: Участник
Сообщений: 3175
Регистрация: 16.05.2005
Пользователь №: 8054


Ребят! Огромная просьба помочь.. Обращаюсь сюда впервые ибо ситуация просто ужасная.. надеюсь на вас..

Вобщем ЛР по предмету ППМПС.. проще говоря по асемблеру..

Задание: Разработайте программу, которая перекрашивала бы буквы(но не фон) экрана в зависимости от нажатия на соответствущую клавишу.Предусмотреть все возможные варианты цвета букв.

Как сказали,для тех кто знает, лаба очень простая.. Мне очень нужна ваша помощь sad.gif

Сообщение отредактировано InTestAnalWorm - 11.12.2007 - 16:24
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 11.12.2007 - 16:23
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


под ДОС? винду? линь?
Перейти в начало страницы
 
+Цитировать сообщение
InTestAnalWorm
сообщение 11.12.2007 - 16:49

Это вам не это...
*******
кубок за победу в конкурсах Форумаорден II степени
Группа: Участник
Сообщений: 3175
Регистрация: 16.05.2005
Пользователь №: 8054


интеловский асемблер.. Зна что делаем в программе Tasm.exe
вроде как в досе

Сообщение отредактировано InTestAnalWorm - 11.12.2007 - 16:52
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 11.12.2007 - 16:58
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


Ну и какие сложности?
Проверяешь видеорежим, чтобы знать количество знакомест (а можно и не проверять, а просто менять "на все деньги")... ставишь обработчик клавиатурного прерывания, чтобы ловить клавиши, по нажатию заданой клавиши прямо в видеопамяти тупо меняешь атрибуты цвета символов... не забудь сохранить начальное состояние атрибутов и восстановить по завершению программы.
Перейти в начало страницы
 
+Цитировать сообщение
InTestAnalWorm
сообщение 11.12.2007 - 17:02

Это вам не это...
*******
кубок за победу в конкурсах Форумаорден II степени
Группа: Участник
Сообщений: 3175
Регистрация: 16.05.2005
Пользователь №: 8054


Вот если я понимал о чём ты говоришь))
В инсте асемблер один семестр.. на лекциях совершенно другое.. Вот примерно мне и сказли что для тех кто понимает это ерунда sad.gif
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 11.12.2007 - 17:23
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


а-а-а... ну тады сорри... оно, конечно ерунда, но некогда, да и, признаться, лениво - потому что неинтересно.
Перейти в начало страницы
 
+Цитировать сообщение
InTestAnalWorm
сообщение 11.12.2007 - 17:50

Это вам не это...
*******
кубок за победу в конкурсах Форумаорден II степени
Группа: Участник
Сообщений: 3175
Регистрация: 16.05.2005
Пользователь №: 8054


А если за какое нить вознограждение?
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 11.12.2007 - 18:45
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


не влияет. сорри.
Перейти в начало страницы
 
+Цитировать сообщение
InTestAnalWorm
сообщение 12.12.2007 - 00:00

Это вам не это...
*******
кубок за победу в конкурсах Форумаорден II степени
Группа: Участник
Сообщений: 3175
Регистрация: 16.05.2005
Пользователь №: 8054


Может ещё кто-нить в этом понимает? Просто это правда нериально нужно... так бы постеснялся попросить...
Перейти в начало страницы
 
+Цитировать сообщение
A-JAy
сообщение 18.12.2007 - 00:53

Продвинутый новичок
**

Группа: Участник
Сообщений: 16
Регистрация: 20.06.2006
Пользователь №: 14157


Привет ребят! Помогите кто может, надо прогу по Java сделать. Вообщем вывести на экран все простые числа на интервале от 1 до 500.(Все числа, которые делятся ток на себя и на 1). В любом случае спасибо.
Перейти в начало страницы
 
+Цитировать сообщение
Holsten
сообщение 19.12.2007 - 16:53

Это вам не это...
*******
орден V степениорден I степени20 лет с форумом
Группа: Участник
Сообщений: 4019
Регистрация: 17.03.2004
Пользователь №: 2796


Цитата(A-JAy @ 18.12.2007 - 00:53) *
Все числа, которые делятся ток на себя и на 1
Может я чего-то не поинмаю, но при такой постановке задачи нужно выводить все цифры указанного диапазона.
Перейти в начало страницы
 
+Цитировать сообщение
A-JAy
сообщение 19.12.2007 - 18:55

Продвинутый новичок
**

Группа: Участник
Сообщений: 16
Регистрация: 20.06.2006
Пользователь №: 14157


Цитата(Holsten @ 19.12.2007 - 16:53) *
Может я чего-то не поинмаю, но при такой постановке задачи нужно выводить все цифры указанного диапазона.

Нет простые числа это 1, 3, 5, 7, 11, 13 и т.д. т.е. они делятся только сами на себя и на 1. Все цифры не надо вывдоить или это я не очень понимаю, что ты спросил.
Перейти в начало страницы
 
+Цитировать сообщение
NeiroN
сообщение 19.12.2007 - 19:04

Частый гость
***

Группа: Участник
Сообщений: 138
Регистрация: 17.01.2005
Пользователь №: 6166


простые числа это 1 2 3 4 5 6 7 8 9 10 11 12...
не понятно что имеится ввиду деляться сами на себя и на 1
лучше приведи простой пример и расскажи как программа должна работать и что вывести
Перейти в начало страницы
 
+Цитировать сообщение
Akina
сообщение 19.12.2007 - 19:13
Частый гость
***

Группа: Участник
Сообщений: 204
Регистрация: 30.05.2005
Пользователь №: 8240


Цитата(A-JAy @ 18.12.2007 - 00:53) *
вывести на экран все простые числа на интервале от 1 до 500

а проблема-то в чем? получить их? вывести их? или ты в Яве вообще не в зуб ногой?
Перейти в начало страницы
 
+Цитировать сообщение

21 страниц V  « < 14 15 16 17 18 > » 
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 8.01.2025 - 06:38