Другие языки программирования и технологии

всем кто смыслит в СИ программировании . проверьте решение

задача: Дан целочисленный массив, состоящий из 15 элементов. Вывести на печать те элементы , для которых остаток от деления на 5 равно 2. решение: #include<stdio.h> #include<conio.h> Void main(void) { Int i, a[15], b[15]; Clrscr(); { Printf(“n\ vvedite a[%i]”,i); Scanf(“%i”, &a); } For (i=0; i<14; i++) { If ((a%5)==2) B=a; Else B=0; Printf(“\n b[%i]=”,b); } } ну так вот она идет но ничего она не считает... и вообще она мегокорявая ! что опять не так тут сделали?
Лёха Хализов
Лёха Хализов
18 286
1. Ошибка: Язык С чувствителен к регистру. То есть если объявил int a; то нельзя в программе использовать А, так как А и а разные переменные.
2. Функции тоже чувствительны к регистру. for, printf, scanf и т. п так как они объявлены в заголовочных файлах именно так. For и Printf уже другие функции.
3.Если задал массив, то обращение к его элементам выглядит так: a[номер] ;
4. Много ненужных фигурных скобок скобок.

#include<stdio.h> //Подключение заголовочного файла
#include<conio.h> //Подключение заголовочного файла
void main(){ //Функция входа
int i, a[15]; // Перменая счетчик, массив
for (i=0; i<=14; i++){ //Ввод массива начиная с 0 элемента до 14
printf("n\vvedite a[ % i ]:",i); // Запрос на ввод
scanf("%i",&a[ i ]); // ввод массива
} // Конец цикла ввода
for (i=0; i<=14; i++){ //Проверка массива
if((a[ i ]%5)==2) //если элемент массива делится на 5 с остатком 2, то
printf("%i",a[ i ]); // выводим этот элемент
} //Конец цикла вывода
} //Конец main

Писал на скорую руку, могут быть ошибки.
+ мэил жрет код

Вроде все впорядке
Parviz Pirali
Parviz Pirali
2 934
Лучший ответ
Дархан Абикаров Вы не праильно писали!:) Во-первых, заголовок conio.h совершенно не нужен. То есть в написанной вами программе не используется ни одно объявление или определение из conio.h/
Во-вторых, объявление вашей функции main не соответствует стандарту языка С. Должно быть

int main( void )

если вам не нужны параметры, которые передаются на вход main.

В-третьих цикл должен быть не от 0 до 14, а от 0 до 15, так как размерность вашего массива равна 15!
Сложно сказать - майл весь код похавал. Вроде, должно что-то считать (выводить 0 вместо "неправильных" эл-тов) - но это если в схаваном все правильно было. Только буквы маленькие всюду надо сделать.
А вообще, так проще:
for(i=0;i<15;i++){printf(“\n vvedite a[%i]”,i); scanf(“%i”, &a[ i ]);}
for(i=0;i<15;i++)if((a[ i ]%5)==2)printf(("%i ",a[ i ]);
Sergej Agapov
Sergej Agapov
73 828
Лёха Хализов не ) майл код не трогал...
он только в комментах его конец весь убирает .
про маленькие буквы, ворд исправляет на заглавные
да он ерунду выдает
щас картинку покажу
Я не знаю, опечатка это у вас или нет, но ключевое слово void пишется с прописной буквы.

Void main(void)

Кроме того это вообще некорректное объявление функции main. Тип возвращаемого ее значения должен быть int.

int main( void )

Затем вот этот код непонятен

{
Printf(“n\ vvedite a[%i]”,i);
Scanf(“%i”, &a);
}

Наверное вы пропустили управляющее предложение цикла for.

Кроме того исходя из описания вашего задания вам совершенно не нужен промежуточный массив b. Можно непосредственно выводить на печать элементы массива a.
Кроме того я не вижу объявление перменной цикла i. То есть в начале программы вы долны определить эту переменную

int i;

Тогда цикл для вывода элементов массива на печать будет выглядеть следующим образом

for ( i=0; i<15; i++ )
{
If ((a[ i ] % 5 ) == 2 ) printff(“\i = %d, a[ i ] = %d\n", i, a[ i ] );
}
Лёха Хализов не не не ) это ворд так просто исправляет...
на заглавные
объявлени е переменноитай i там есть, вы пропустили наверно когда смотрели
В С важен регистр
Printf не прокатит и надо printf (ну и остальное аналогично)

не вижу цикла для ввода всего массива (нужен вокруг printf, scanf)
for (i=0; i <= 14; i++) if ( a[ i ]%5 == 2) printf("\n%d", a[ i ]); // достаточно без использования лишнего массива B

(Код криво пролез и может я чего-то не понял. Чтоб сюда код нормально пролез надо [ i ] и [ b ]писать с пробелами, иначе мейлру считает их тегами форматирования текста)