Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Помогите решить задачку


Автор: kolyan 16.12.2007, 20:13
Здравствуйте!У меня проблема с решением задачки: Ввести последовательность из 25 нечётных чисел с клавиатуры. Найти наибольшее число из введенных элементов. Решить необходимо с помощью printf в C++! Работа нужна срочно, люди отзовитесь, надеюсь труда не составит! Заранее спасибо!Сам я чайник ничего не понимаю, если можно прокоментируйте решение, что там чего делает!

Автор: JackYF 16.12.2007, 20:49
kolyan, в таких случаях обращаются в Центр Помощи, ты не в курсе?

Цитата(kolyan @  16.12.2007,  20:13 Найти цитируемый пост)
Ввести последовательность из 25 нечётных чисел с клавиатуры. Найти наибольшее число из введенных элементов. Решить необходимо с помощью printf в C++!

Код

#include <iostream>
#include <cstdio>

const unsigned int number_count = 25;

int main(int argc, char* argv[])
{
  int numbers[number_count];
  printf("Enter %u odd numbers: ", number_count);
  
  for (size_t i = 0; i < number_count; ++i)
  {
    scanf("%d", &numbers[i];
  }
  size_t max_number_index = 0;
  for (size_t i = 1; i < number_count; ++i)
  {
    if (numbers[i] > numbers[max_number_index])
    {
      max_number_index = i;
    }
  }
  printf("Max number: %d\n", numbers[max_number_count];
}


Писал здесь.

Автор: kolyan 16.12.2007, 21:11
JackYF, Слушай, он выдает какую-то ошибку! Что это может быть?

Автор: JackYF 16.12.2007, 21:36
Цитата(kolyan @  16.12.2007,  21:11 Найти цитируемый пост)
Слушай, он выдает какую-то ошибку! Что это может быть? 

Вероятно, ошибка. Ты предоставил мне всю информацию об ошибке, какую только мог?

Добавлено через 35 секунд

Автор: kolyan 16.12.2007, 22:14
Он пишет такую вот фигню: ------ Build started: Project: 8, Configuration: Debug Win32 ------
Compiling...
Stdafx.cpp
Compiling...
AssemblyInfo.cpp
8.cpp
c:\documents and settings\kolya\мои документы\visual studio 2005\projects\8\8\8.h(15) : error C2143: syntax error : missing ')' before ';'
c:\documents and settings\kolya\мои документы\visual studio 2005\projects\8\8\8.h(25) : error C2065: 'max_number_count' : undeclared identifier
c:\documents and settings\kolya\мои документы\visual studio 2005\projects\8\8\8.h(25) : error C2143: syntax error : missing ')' before ';'
Generating Code...
Build log was saved at "file://c:\Documents and Settings\Kolya\Мои документы\Visual Studio 2005\Projects\8\8\Debug\BuildLog.htm"
8 - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Автор: nickless 16.12.2007, 22:25
Цитата(kolyan @  16.12.2007,  20:14 Найти цитируемый пост)
8.h(15) : error C2143: syntax error : missing ')' before ';'


Цитата(kolyan @  16.12.2007,  20:14 Найти цитируемый пост)
8.h(25) : error C2143: syntax error : missing ')' before ';'

Ну добавь скобку перед ; в той строчке... Неужели так сложно прочитать что тебе пишет компилятор?

Добавлено через 2 минуты и 6 секунд
Цитата(kolyan @  16.12.2007,  20:14 Найти цитируемый пост)
8.h(25) : error C2065: 'max_number_count' : undeclared identifier

max_number_count там нет, зато есть max_number_index

Автор: kolyan 16.12.2007, 22:53
please скажи какую именно строчку исправлять, я вообще в этом деле ничего не понимаю. И если не впадлу объясни, что тут для чего нужно! Я Знаю, что тебя достал, но уж очень хочется разобраться и понять!!!!!!!!!!!!!PLEASE!!!!!!!!!!!!)))))))))))

Автор: JackYF 16.12.2007, 23:00
М-да. Поисправлял.
Код

#include <iostream>
#include <cstdio>
const unsigned int number_count = 25;
int main(int argc, char* argv[])
{
  int numbers[number_count];
  printf("Enter %u odd numbers: ", number_count);
  
  for (size_t i = 0; i < number_count; ++i)
  {
    scanf("%d", &numbers[i]);
  }
  size_t max_number_index = 0;
  for (size_t i = 1; i < number_count; ++i)
  {
    if (numbers[i] > numbers[max_number_index])
    {
      max_number_index = i;
    }
  }
  printf("Max number: %d\n", numbers[max_number_index]);
}

Автор: kolyan 16.12.2007, 23:12
Теперь он выдаёт такую штуку: 
12.cpp
c:\documents and settings\kolya\мои документы\visual studio 2005\projects\12\12\12.h(15) : warning C4996: 'scanf' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(295) : see declaration of 'scanf'
        Message: 'This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
Linking...
Embedding manifest...
Build log was saved at "file://c:\Documents and Settings\Kolya\Мои документы\Visual Studio 2005\Projects\12\12\Debug\BuildLog.htm"
12 - 0 error(s), 1 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Автор: JackYF 16.12.2007, 23:45
Цитата(kolyan @  16.12.2007,  23:12 Найти цитируемый пост)
Build: 1 succeeded

перевести?

Автор: kolyan 16.12.2007, 23:51
JackYF, дело в том, что он не выдает черное окошко в котором я должен ввести эти 25 нечетных чисел!!!!

Добавлено через 4 минуты и 22 секунды
Все мужики огромное спасибо, нашел как решается моя проблемма! Не могли бы вы теперь объяснить, какая строчка что здесь делает, очень интерестно!!!!!! Хочу просто знать на будущее, чтобы самому делать подобные программы!!!!!!!

Автор: JackYF 17.12.2007, 00:17
Цитата(kolyan @  16.12.2007,  23:51 Найти цитируемый пост)
Хочу просто знать на будущее, чтобы самому делать подобные программы!!!!!!! 

Читать книги по программированию, алгоритмам и учиться думать логически.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)