Задачки по С

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
-zik-
Сообщения: 1
Зарегистрирован: 20 янв 2006, 22:46
Контактная информация:

21 янв 2006, 01:46

Есть вот такие задания:

Подсчитайте сумму нечетных элементов массива и количество элементов, значение которых равно нулю. Размер массива 10 элементов, значения которых задаются с клавиатуры пользователем.

Вот что я смог родить, вроде правильно, но никак не хочет вводиться с клавиатуры ((

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>

int main(void){

int mas[10];
int i,k,p,m;
char ch[10];
k=0; p=0;
for(i=0; i<=9; i++){
	//mas[i]=rand();
        mas[i]=getchar();
	printf("%d\n", mas[i]);
	m=mas[i]%2;
	if(mas[i]==0 || m > 0){
	   k++; p+=mas[i];
	 }
}
p=p/k;
printf("Srednee sna4enie: %d\n", p);
return 0;
}
Так вот вопрос как сделать чтоб оно вводило числа с клавиатуры и как ограничит rand() чтоб он например выводил значения до 100.

_____________________________________________________
Написать программу меняющую порядок следования элементов массива на противоположный (то есть первый элемент становится последним, а последний - первым; второй элемент становится предпоследним, а предпоследний - вторым и так далее) и выводящую результирующий массив на экран. Элементы массива вводятся пользователем с клавиатуры.

Код: Выделить всё

 
#include <stdio.h>

int main(void) {

int mas[5]={1,2,3,4,5};
int p=0, i;
for (i=0;i<3; i++){
	  printf("%d\t", mas[i]);
	p=mas[i];
	  printf("%d\t", p);
	mas[i]=mas[4-i];
	mas[4-i]=p;
	  printf("%d\n", mas[i]);
}
return 0;
}return 0;
}
А в этом я вобще запутался ....
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

23 янв 2006, 11:26

в чем ты во второй запутался ?
в первой - гетчар не лучший вариант он вернет тебе код символа (для 1 будет 49 если не ошибаюсь)
для чтения с клавиатуры лучше пользовать scanf("%d",&mas)
для ограничения рандома сотней просто выводишь формулу которая это сделает в общем случае формула такая:
p= Const * rand() / MAX_RAND const - твой верхний предел (100), MAX_RAND - максимальное значение которое может принимать рандом генератор (как правило 1 либо MAX_INT зависит от языка/библиотек )
В SAD - все в SAD.
BAHTY3
Сообщения: 104
Зарегистрирован: 30 авг 2005, 02:53
Откуда: Санкт-Петербург
Контактная информация:

27 янв 2006, 21:31

по первому примерно следующее

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 10
void main()
{
int i=0;
int sum=0;
int mass[MAXSIZE];
if (i=0,i<MAXSIZE,i++)
{
scanf("%d",mass[i]);
printf("%d \n",mass[i]);
}
if (i=0,i<MAXSIZE,i+=2)
{
sum=sum+mass[i];
}
printf("sum=%d",sum);
}//end of main
ну а по второй части просто проверяй каждое число if (x<100)
если да то все гуд и тд....[/code]
Жизнь ― это то, что с нами происходит, пока мы строим планы.© Джон Леннон.
Ответить