Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Дэша
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 14
#1

Задача на цикл - C++

16.09.2011, 12:24. Просмотров 920. Ответов 5
Метки нет (Все метки)

Есть задачка на циклы. Она не компилируется... Помогите пож-та найти ошибку в коде, я в С++ вообще плохо разбираюсь.

1) Даны целые числа a, n, x1,...,xn.(n > 0).Определить каким по счету идет в последовательности x1,..,xn член равный а. Если такого члена нет, то ответом должно быть число 0.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
 
int main(int argc, char * argv[])
{
        int a,n,i,Res = 0;
        std::cout << "Please enter n" << std::endl;
        std::cin >> n;
 
        srand(time(NULL));//Инициализировали генератор случайных чисел (типа Randomize в Pascal)
        int * A = new int[n];//Создали массив из n символов
 
        for(i = 0; i < n; i++)
        {
          A[i] = rand() % 10 + 1;//генерируем числа от 1 до 11
          std::cout << A[i] << "  ";//выводим на экран
        }
 
        std::cout << std::endl << "Please enter a" << std::endl;
        std::cin >> a;
 
        for(i = 0; i < n; i++)
          if (A[i] == a)    //тут все очевидно, ищем член равный a.
            Res = i;
          else
            Res = 0;
 
        if (Res != 0)  //если элемент найден
          std ::cout << "№ " << Res << std::endl;
        else //если НЕ найден
          std::cout << "not found" << std::endl;
 
        delete[] A;//освобождаем память
 
        std::cin.get();
        return 0;
        }
И еще одна простенькая задача, помогите плиз решить! Зачет горит..((
2)Составить программу для вычисления пути, пройденного лодкой, если ее скорость в стоячей воде V0 км/ч, скорость течения реки V1 км/ч, время движения по озеру t0 ч, а против течения реки — t1 ч.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2011, 12:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача на цикл (C++):

задача на цикл - C++
Для каждого из некоторого количества пар чисел M,N найти все простые общие делители. Не могу понять как в цикле сделать это, или проше...

задача на цикл for - C++
Составить программу-генератор чисел Пифагора а, b, с, (с^2=a^2+b^2).В основу положить формулы: а=m^2-n^2 ,b=2*m*n, с=m^2+n^2 (m,...

Задача на цикл for - C++
a(a-n)(a-2n)...(a-n^2) Рассчитать цикл, вводя a и n с клавиатуры.

Задача на вложенный цикл - C++
10 20 20 30 30 30 40 40 40 40 50 50 50 50 50 5 5 5 5 5 10 10 10 10 15 15 15

простая задача на цикл - C++
Определите сумму всех элементов последовательности, завершающейся числом 0. Числа, следующие за нулем, считывать не нужно. Вот...

Задача по программированию. Цикл For - C++
Написать программу, которая будет выводить на консоль значения факториала целых чисел из интервала от n1 до n2. Предвратительно написать...

5
Чистый
Автор FAQ
2709 / 1405 / 73
Регистрация: 08.09.2011
Сообщений: 3,733
Записей в блоге: 1
16.09.2011, 12:35 #2
надо не
C++
1
#include <iostream.h>
а
C++
1
#include <iostream>
Добавлено через 2 минуты
а так же не
C++
1
std ::cout << "№ " << Res << std::endl;
а
C++
1
std ::cout << "№ " << Res + 1 << std::endl;
Добавлено через 1 минуту
а вторую задачу что то я не понял
1
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
16.09.2011, 12:44 #3
C++
1
2
3
4
5
6
       for(i = 0; i < n; i++)
          if (A[i] == a)    //тут все очевидно, ищем член равный a.
          {
           Res = i;
           break; // прерываем цикл, потому как на следующей итерации Res опять будет 0
          }
А со второй в чём проблема?
Плывешь по течению, скорости складываются, против - вычитаются. Умножаем скорость на время, получаем путь.
1
Дэша
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 14
16.09.2011, 12:53  [ТС] #4
Спасибо огромное!! всё заработало!! А вторую я и сама написала)))
0
-=ЮрА=-
Заблокирован
Автор FAQ
16.09.2011, 12:58 #5
Цитата Сообщение от Дэша Посмотреть сообщение
1) Даны целые числа a, n, x1,...,xn.(n > 0).Определить каким по счету идет в последовательности x1,..,xn член равный а. Если такого члена нет, то ответом должно быть число 0.
Вот подправил алгоритм

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <cstdlib>
#include <time.h>
 
using namespace std;
 
//Руссификация
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
 
int main(/*int argc, char * argv[]*//*зачем тебе аргументы командной строки?*/)
{
    int a,n,i,Res = 0;
    std::cout << "Пожалусто введите n" << std::endl;
    std::cin >> n;
    
 
    srand(time(NULL));//Инициализировали генератор случайных чисел (типа Randomize в Pascal)
    int * A = new int[n];//Создали массив из n символов
 
    for(i = 0; i < n; i++)
    {
        A[i] = rand() % 10 + 1;//генерируем числа от 1 до 11
        std::cout << A[i] <<" ";//выводим на экран
    }
 
    std::cout <<std::endl<< "Пожалусто введите a" << std::endl;
    std::cin >> a;
 
    
    Res = 0;
    for(i = 0; i < n; i++)
    {
        if (A[i] == a)    //тут все очевидно, ищем член равный a.
        {
            Res = i;
            break;//Нашли равный элемент и сразу остановили цикл
        }
    }
 
    if (Res != 0)  //если элемент найден
        std ::cout << "№ " << Res << std::endl;
    else //если НЕ найден
        std::cout << "not found" << std::endl;
 
    delete[] A;//освобождаем память
 
    std::cin.get();
    return 0;
}
[Результат работы]
Пожалусто введите n
15
6 8 8 7 3 10 5 10 9 4 10 7 5 1 7
Пожалусто введите a
7
й 3
Press any key to continue

Добавлено через 55 секунд
Уже опередили...

Добавлено через 1 минуту
Цитата Сообщение от Дэша Посмотреть сообщение
А вторую я и сама написала)))
Протестиовать здесь свой алгоритм желания нет???
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.09.2011, 14:19 #6
А мне такая конструкция нравится:

C++
1
2
3
4
   i = -1;
   while (++i < n && x[i] != a)
      ;
   cout << (i < n ? i : -1);
0
16.09.2011, 14:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2011, 14:19
Привет! Вот еще темы с ответами:

Задача на вложенный цикл - C++
Дано натуральное число n.Получить f0,f1....fn , где: fi=(1/i^2+1)+(1/i^2+2)....(1/i^2+i+1) Помогите пожалуйста написать код на С++

Из массива в цикл (задача) - C++
Добрый день! Помогите решить задачу используя ЦИКЛ, на через массив я нашел решение. Осталось только переделать. Но у меня не выходит. ...

Задача на цикл, ошибка кода - C++
Помогите найти ошибку в коде, программа не компилируется... вот задание: Дано натуральное число n. Выяснить, можно ли представить n! в...

Задача на цикл с выходом из середины - C++
Здравствуйте. Не могу разобраться с задачей. Как использовать while и break? Что означают эти +=, -=, --? По таблице - конец цикла, выход...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.