![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 22.05.2013
Сообщений: 1
|
![]()
Помогите, пожалуйста, проверить код на С (именно на С, не С++).
1 Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата количество уроков в вашей группе в этот день. #include < stdio.h > void main () { int i; рrintf("Введите день недели от 1 до 7. \n"); scanf(“%d”,&i); switch (i) { case 1: printf("segodna 4 uroka\n"); break; case 2: printf ("segodna 5 uroka\n"); break; case 3: printf ("segodna 2 uroka\n"); break; case 4: printf ("segodna 3 uroka\n"); break; case 5: printf ("segodna 4 uroka\n"); break; case 6: printf ("segodna net urokov\n"); break; case 7: printf ("segodna net urokov\n"); default : printf ("net takogo dny\n"); } 2 Определить, сколько раз в массиве встречается последовательность 123. #include <stdio.h> #include <conio.h> void main() { int massive[10]; int lenght = 0, counter = 0; printf("Vvedite posledovatelnost'\n"); scanf("%s", massive); fflush(stdin); lenght = strlen(massive); for( i = 0; i < lenght; i++) { if(i < lenght-2) { if(massive[i] == 1) { if(massive[i+1] == 2) { if(massive[i+2] == 3) { i += 2; counter++; } } } } } printf("\nKolichestvo povtorenii '123': %d", counter); getch(); } 3 Написать программу, которая анализирует данные о возрасте и относит человека к одной из групп: дошкольник, ученик, работник, пенсионер. #include <stdio.h> #include <conio.h> void main () { int a; char b; printf("enter the value:\n"); scanf("%d %c",&a,&b); if (a<6) printf(“doshkolnik”); else { if (a<17) printf(“shkolnik”); else { if ((a<55)&&(b==’f’) || (b==’m’)&&(a<66) printf(“rabotnik”); else printf(“pensioner”); } } getch(); } 4 Определить, сколько процентов от всего количества элементов массива составляют отрицательные элементы. #include <stdio.h> void main () { int i, n ; float kol=0; printf("Введите размерность массива N\n"); scanf("%d",&n); int a[n]; printf("Введите массив a\n"); for (i=0; i<n; i++) { if(a[i] < 0) {kol++; } } printf ("Процент отрицательных элементов в массиве kol\n", n*100\kol); return 0; } 5 Подсчитать количество положительных среди чисел а, b, с… #include <stdio.h> int main () { int i, n,kol=0; printf("Введите размерность массива N\n"); scanf("%d",&n); int а[n]; printf("Введите массив a\n"); for (i=0; i<n; i++) { if(a[i] >0) { kol ==kol++ printf(" %d\n", &kol); } } getch (); } 6 Напечатать элементы массива, индексы которых являются степенями двойки. #include <stdio.h> #include <math.h> void main() { int i, n ; printf ( "Enter integer value: "); scanf("%d",&n); int a[n]; printf("Введите массив a\n"); for (i = 0; i < n; i++) { a[i]=i; if(logb==i) printf(" %d\n", & a[i]); } getch (); } |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,607
|
![]()
В 1 не закрыта скобка main. Пробелы при включении заголовочного файла не нужны: <stdio.h>
В 2 выход за пределы массива. Переменная i не объявлена. scanf("%s", massive); ошибочно - лучше заполнить в цикле по одному. В 5 ошибка - нет точки с запятой в конце : достаточно kol++; В printf(" %d\n", &kol); символ & является ненужным. В 6 ошибка if(logb==i) т. к logb не объявлено. Если это функция то b должно быть в скобках. В printf(" %d\n", & a[i]); не нужен &
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
1) Управление "проваливается" сквозь метки в отсутствие break, так что при i==7, будет выведено "segodna net urokov\nnet takogo dny\n";
2) В условии не сказано, что последовательность не длиннее 10 символов; 3) Не сбалансированы скобки в if в конце... и Вы уверены, что пенсионный возраст мужчин - с 66? 4) Должна быть ошибка компиляции. Как минимум из-за "знака деления" \. Массив a нигде в коде не заполняется (да и, собственно, не нужен). 5) Та же претензия. Также, неверное использование printf. 6) Кто такой logb? Массив a заполняется числами от 0 до n-1, это явно не то, что требуется в задании. |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 25.09.2012
Сообщений: 182
|
![]()
№2
Цитата:
Этот кусок вполне можно реализовать так: Код:
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan. |
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 20.01.2013
Сообщений: 146
|
![]()
5-ая задача скомпилировалась? Ведь размер массива должен быть константой
Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 14.01.2012
Сообщений: 3
|
![]()
Я так понял что нужно переделать код с С++ на Си.
Вот как мне кажется решение задачи №3 3 Написать программу, которая анализирует данные о возрасте и относит человека к одной из групп: дошкольник, ученик, работник, пенсионер. Код HTML:
#include<stdio.h> void main() { int x; printf("vvedite vozrast:"); scanf("%d",&x); if(x<=6) printf("Doshkolnik\n"); if(x>=6||x<=17) printf("ychenik\n"); if(x>=17||x<=60) printf("rabotnik\n"); else printf("pensioner\n"); } |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Код:
Код:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверить код | Artem131 | Общие вопросы C/C++ | 0 | 29.04.2013 22:47 |
Надо проверить код. С++ . | Kirill_Y | Помощь студентам | 4 | 28.10.2012 10:59 |
проверить код и защита | cargo29 | PHP | 5 | 24.10.2012 11:55 |
проверить код | delfin07 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 21.02.2012 13:58 |
Прошу проверить код | pandaaaaa | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 14.12.2011 01:58 |