Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2012, 00:29   #11
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
Радость

Цитата:
наверное это индус с промта пишет.. уже 2 готовые проги кинули и ответили на 10 вопросов вперёд, а он всё зациклился на своём коде, который без ста грамм не разберёшь
не смешите
Faton 11 вне форума Ответить с цитированием
Старый 06.11.2012, 00:40   #12
Murashov
Форумчанин
 
Аватар для Murashov
 
Регистрация: 30.10.2012
Сообщений: 121
По умолчанию

я серьёзно.. индусятина) этот код на 5 строк
Murashov вне форума Ответить с цитированием
Старый 06.11.2012, 01:10   #13
ArmanPrestige
Главное желание.
Форумчанин
 
Регистрация: 28.11.2011
Сообщений: 122
По умолчанию

много лишних фигурных скобок. неудобно читать и громоздко получается. раз.
goto - не юзал бы здесь. но да ладно. и по всей видимости происходит бесконечный переход к поинтеру. так что обойдитесь без goto. два.
а три:
Код:
void Sravnenie(){
	for(int k=0;k<200;++k)
		for(int j=k+1;j<200-1;++j)
			if (mas[j]==mas[k])
				cout<<"bla-bla"<<endl;
}
Я могу, Я хочу, Я буду!

Последний раз редактировалось ArmanPrestige; 06.11.2012 в 01:14.
ArmanPrestige вне форума Ответить с цитированием
Старый 06.11.2012, 02:07   #14
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

Всем спасибо огромное за ответы, очень помогли! Пользуясь случаем, хочу спросить: если ли в с++ функция, которая добавляет слева нули? Например, чтобы число 1 стало восьмизначным, т.е. 00000001?

Последний раз редактировалось Faton 11; 06.11.2012 в 02:10.
Faton 11 вне форума Ответить с цитированием
Старый 06.11.2012, 11:29   #15
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Faton 11 Посмотреть сообщение
Всем спасибо огромное за ответы, очень помогли! Пользуясь случаем, хочу спросить: если ли в с++ функция, которая добавляет слева нули? Например, чтобы число 1 стало восьмизначным, т.е. 00000001?
В числах нет. Юзайте строки.
rmv240899 вне форума Ответить с цитированием
Старый 06.11.2012, 11:55   #16
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

а названия таких функций для строк можно?
Faton 11 вне форума Ответить с цитированием
Старый 06.11.2012, 12:01   #17
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Faton 11 Посмотреть сообщение
а названия таких функций для строк можно?
Я имею в виду класс string, там есть методы, позволяющие добавить любой символ в любое место (insert вроде). Таким образом и можно работать, хотя string и не совсем для этого. Просто в числах, если добавить нули в начало, они все равно не будут присутствовать там, и тем более выводиться.
rmv240899 вне форума Ответить с цитированием
Старый 06.11.2012, 12:06   #18
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

Спасибо, посмотрю =)
Faton 11 вне форума Ответить с цитированием
Старый 06.11.2012, 19:38   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
//"Метод Серединных Квадратов"

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

using namespace std;

int
extract(int a)
{
    int b = a % 10000;
    while (a >= 1000000)
    {
        a /= 10;
        b = a % 10000;
    }
    return b;
}

int
main ()
{
    int sub_intArray[1000];
    int x = 2152;
    int sqr = extract(x * x);
    for (int i = 0; i < 1000; ++i)
    {
        sub_intArray[i] = sqr;
        sqr = extract(sqr * sqr);
    }

    for(int j = 0; j < 1000; ++j)
    {
        cout << sub_intArray[j] << " ";
    }
    cout << endl;

    /*for(int k = 0; k < 1000 - 1; ++k)
        for(int j= k + 1; j < 1000; ++j)
            if (sub_intArray[j] == sub_intArray[k])
                cout << "virozdenie" << endl;*/

    char periodarr[10000];
    memset(periodarr, 0, sizeof(periodarr));
    x = 2152;
    sqr = extract(x * x);
    int count = 0;
    while (periodarr[sqr] == 0) {
        periodarr[sqr] = 1;
        sqr = extract(sqr * sqr);
        count++;
        if (sqr == 0) exit;
    }
    cout << "period: " << count << endl;
    return 0;
}
Ради интереса кое-что написал/переписал.
По-другому сделано формирование следующего числа.
Добавлен поиск первого повтора.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 11.11.2012, 23:27   #20
Faton 11
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 74
По умолчанию

Разумеется, ваш код лучше, спасибо!
Faton 11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обнулить элементы строки двумерного массива, содержащей наибольшее количество элементов одномерного массива griignat Помощь студентам 1 22.11.2011 20:04
По массивам, SOS! из целочисленного массива удалить из массива элементы, встречающиеся менее 3-х раз prelest' Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2011 22:37
Элементы матрицы. Все ненулевые элементы массива D(k) расположить в начале массива E(k) и подсчитать их к Вася Маклауд Помощь студентам 0 03.04.2011 17:21
1.Найти в матрице первую строку, все элементы которой отрицательны 2.отсортировать элементы массива по в w0lf16 Помощь студентам 2 22.11.2009 15:47
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44