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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 00:45   #1
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию Поиск номера с минимальным значением, и его применение:)

Код:
#include <stdio.h>                    
#include <math.h>
#include <windows.h>
void vvod(int*p,int*n,char sim);
void vivod(int*p, int n,char sim);
int main(void)
{ 
int A[20], F[20], C[20];
int Y,d,t,nA,nF,nC,n,i;
float Z;
vvod(A,&nA,'A');
vvod(F,&nF,'F');
vvod(C,&nC,'C');
vivod(A,nA,'A');
vivod(F,nF,'F');
vivod(C,nC,'C');
int Nom=0; 
for(i=Nom; i<n; i+=2)
if ((A[i] < A[Nom])&&(F[i] < F[Nom])&&(C[i] < C[Nom]))Nom = i;
Y=Nom[A];
d=Nom[F];
t=Nom[C];
Z=cos(3*Y)-2.01*d+1.03*pow(t,3);
printf("\n d--->%2d\n Y--->%2d\n t--->%2d\n F=%2.2f",Y,d,t,Z);
fflush(stdin);
getchar();
}
void vvod(int*p,int*n,char sim)
{
     int i;
     printf("Vvedi razmernostb massiva %C:",sim); 
     scanf("%d",n);
     for(i=0;i<*n;i++)
     {
                      printf("%C[%d]=",sim,i);
                      scanf("%d",p+i);
                      }
                      }
                      void vivod(int*p, int n,char sim)
                      {
                                          int i;
                                          printf("Massiv %C:",sim);
                                          for(i=0;i<n;i++)
                                          printf("%d ", *(p+i));
                                          }



Не правильно, помогите как исправить(Задание:Вычислить значение функции Z = cos3 Y - 2,01 d + 1,03 t3 , где Y, d и t - номера минимальных значений среди элементов, стоящих на нечетных местах в массивах А, F и С, соответственно.):
Код:
int Nom=0; 
for(i=Nom; i<n; i+=2)
if ((A[i] < A[Nom])&&(F[i] < F[Nom])&&(C[i] < C[Nom]))Nom = i;
Pycbka вне форума Ответить с цитированием
Старый 03.05.2012, 01:02   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Нужно искать для КАЖДОГО массива отдельно (можно в одном цикле).
Код:
int y=0,d=0,t=0; 
for(i=0; i<n; i+=2)
{
if (A[i] < A[y])
	y = i;
if (F[i] < F[d])
	d = i;
if (C[i] < C[t])
	t = i;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 03.05.2012, 01:08   #3
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Как тогда вот это правильно записать?
Y=Nom[A];
d=Nom[F];
t=Nom[C];


Если не сложно, запишите полностью как оно должно быть..
Pycbka вне форума Ответить с цитированием
Старый 03.05.2012, 01:30   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Если остальное правильно, то:
Код:
#include <stdio.h>                    
#include <math.h>
#include <windows.h>
void vvod(int*p,int*n,char sim);
void vivod(int*p, int n,char sim);
int main(void)
{ 
int A[20], F[20], C[20];
int Y=0,d=0,t=0,nA,nF,nC,n,i;
float Z;
vvod(A,&nA,'A');
vvod(F,&nF,'F');
vvod(C,&nC,'C');
vivod(A,nA,'A');
vivod(F,nF,'F');
vivod(C,nC,'C');
for(i=0; i<n; i+=2)
{
if (A[i] < A[Y])
	Y = i;
if (F[i] < F[d])
	d = i;
if (C[i] < C[t])
	t = i;
}
Z=cos(3*Y)-2.01*d+1.03*pow(t,3);
printf("\n d--->%2d\n Y--->%2d\n t--->%2d\n F=%2.2f",Y,d,t,Z);
fflush(stdin);
getchar();
}
void vvod(int*p,int*n,char sim)
{
     int i;
     printf("Vvedi razmernostb massiva %C:",sim); 
     scanf("%d",n);
     for(i=0;i<*n;i++)
     {
                      printf("%C[%d]=",sim,i);
                      scanf("%d",p+i);
                      }
                      }
                      void vivod(int*p, int n,char sim)
                      {
                                          int i;
                                          printf("Massiv %C:",sim);
                                          for(i=0;i<n;i++)
                                          printf("%d ", *(p+i));
                                          }
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 03.05.2012, 01:34   #5
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Нет в ответе что Y=0, что d=0, что t=0..
Неправильно всмысле..

Последний раз редактировалось Pycbka; 03.05.2012 в 01:37.
Pycbka вне форума Ответить с цитированием
Старый 03.05.2012, 01:45   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Код:
#include <stdio.h>
#include <math.h>
#include <windows.h>
void vvod(int*p,int*n,char sim);
void vivod(int*p, int n,char sim);
int main(void)
{
    int A[20], F[20], C[20];
    int Y=0,d=0,t=0,nA,nF,nC,i;
    float Z;
    vvod(A,&nA,'A');
    vvod(F,&nF,'F');
    vvod(C,&nC,'C');
    vivod(A,nA,'A');
    putchar('\n');
    vivod(F,nF,'F');
    putchar('\n');
    vivod(C,nC,'C');
    for(i=0; i<nA; i+=2)
        if (A[i] < A[Y])
            Y = i;
    for(i=0; i<nF; i+=2)
        if (F[i] < F[d])
            d = i;
    for(i=0; i<nC; i+=2)
        if (C[i] < C[t])
            t = i;
    Z=cos(3*Y)-2.01*d+1.03*pow(t,3);
    printf("\n d--->%2d\n Y--->%2d\n t--->%2d\n F=%2.2f",Y,d,t,Z);
    fflush(stdin);
    getchar();
    return 0;
}
void vvod(int*p,int*n,char sim)
{
    int i;
    printf("Vvedi razmernostb massiva %C:",sim);
    scanf("%d",n);
    for(i=0; i<*n; i++)
    {
        printf("%C[%d]=",sim,i);
        scanf("%d",p+i);
    }
}
void vivod(int*p, int n,char sim)
{
    int i;
    printf("Massiv %C:",sim);
    for(i=0; i<n; i++)
        printf("%d ", *(p+i));
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 03.05.2012, 01:48   #7
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Отлично. Спасибо Большущее.
Pycbka вне форума Ответить с цитированием
Старый 03.05.2012, 16:22   #8
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Ещё кстати вопрос такой, может знает кто.. В данной задаче нужно чтобы Косинус был в степени 3, но так не получается,т.к. компилятор ругается, как можно сделать?
Тоесть:
..Cos^3(Y)..
Pycbka вне форума Ответить с цитированием
Старый 03.05.2012, 17:20   #9
halcyon
crafter
Форумчанин
 
Аватар для halcyon
 
Регистрация: 03.09.2011
Сообщений: 127
По умолчанию

Цитата:
Сообщение от Pycbka Посмотреть сообщение
Ещё кстати вопрос такой, может знает кто.. В данной задаче нужно чтобы Косинус был в степени 3, но так не получается,т.к. компилятор ругается, как можно сделать?
Тоесть:
..Cos^3(Y)..
например вот так:
Код:
 otvet = pow(cos(y), 3.0));
,
где переменная otvet типа double

Последний раз редактировалось halcyon; 03.05.2012 в 17:22.
halcyon вне форума Ответить с цитированием
Старый 03.05.2012, 18:03   #10
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Спасибо большое)
Pycbka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как организовать поиск ячейки с определенным значением и выделение ее цветом Arty_ Microsoft Office Excel 0 24.02.2012 07:00
Вычислить сумму элементов массива, порядковые номера которых совпадают со значением этого элемента. zzz6 Общие вопросы C/C++ 4 18.10.2011 03:19
программу нахождения экстремального элемента или его порядкового номера при заданном одномерном массиве А (Паскаль) S_S_V_N Помощь студентам 1 16.10.2011 21:54
поиск кратчайшей сортировки, с минимальным кол-вом перестановок sad8c Помощь студентам 9 14.12.2007 10:23
при введении любого номера года нашей эры, программа выводит его название за старым японским календарем mobi_vic Общие вопросы C/C++ 1 06.06.2007 12:33