Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2010, 10:24   #1
VetalMan
Новичок
Джуниор
 
Регистрация: 10.05.2010
Сообщений: 1
По умолчанию Что-то с циклом

Столкнулся с такой проблемой - программе не удаётся высчитать данные и занести их в таблицу, она просто вносит туда нули и делает это бесконечно.
Скорее всего я что-то не так сделал в программе. Помогите пожалуйста найти ошибку!!

Условие задачи:

Рассчитать массу стальных валов диаметром 10 мм и длиной, изменяющимися от 150 до 550 мм с шагом 10 мм (плотность стали 8000 кг/м3). Вывод оформить в виде таблицы.

Текст программы:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
float Ln, Lk, Sh, R, m[100], L[100];
int N;
const float p=3.14, k=0.001, P=8000;

printf("vvedite nachal'nuyu dlinnu: ");
scanf("%f",&Ln);
printf("vvedite konechnuyu dlinnu: ");
scanf("%f",&Lk);
printf("vvedite shag: ");
scanf("%f",&Sh);
printf("vvedite radius: ");
scanf("%f",&R);


gotoxy(0,11); printf("\n +------------------+");
gotoxy(0,12); printf("\n | m, kg | L, mm |");
gotoxy(0,13); printf("\n +------------------+");
int i=-1;
L[i]=Ln;
while(L[i]<=Ln)
{
L[i]+=Sh;
m[i]=P*R*R*k*k*L[i];
}
for (int i=0; i<N; i++)
printf("\n | %.0f | %.2f |",m,L);
gotoxy(0,40); printf("\n +------------------+\n");
N=(Lk-Ln)/Sh+1;
printf("N=%2d\n",N);
getch();
}



Заранее спасибо!!
VetalMan вне форума Ответить с цитированием
Старый 10.05.2010, 11:20   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Код:
int i=-1;
L[i]=Ln; //Заносишь элемент массива с отрицательным индексом? Так можно?
while(L[i]<=Ln)
{
L[i]+=Sh;
m[i]=P*R*R*k*k*L[i];
} // Все расчитанные массы перезаписываются в одну и ту же ячейку m[-1]. Забыл инкрементировать i.
Код:
for (int i=0; i<N; i++) //Переменная N объявлена . но не инициализирована. 
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Похоже что-то с циклом Lisёноk Помощь студентам 10 27.04.2010 11:48
задача с циклом while lammy Помощь студентам 1 09.12.2009 16:06
Поясните что с циклом for? Mikhail Bakurov Общие вопросы Delphi 9 19.06.2009 01:58
Помогите с циклом BuT@JL Помощь студентам 3 25.03.2009 17:53
Помогите с циклом Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 27.03.2008 21:08