XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Arti

offline
Опыт: 11,196
Активность:
Помощь с c++
Помогите написать прогу на с++, которая заменяет каждое третье число, на средне арифметическое всех введённых чисел. А то я уже выдохся) вроди легко, а не легко..
Старый 02.01.2012, 20:24
Msey
????
offline
Опыт: 67,346
Активность:
Arti, где примеры твоих попыток?
Старый 02.01.2012, 21:43
Arti

offline
Опыт: 11,196
Активность:
Во первых не знаю как бесконечно считывать числа, а не сначала ввести скоко, а потом цыкл...
Во 2 не считает чего то...
помогите)
Код:
#include <iostream>
 
using namespace std;
 
int main(){

    int a[10];
    int sum=0;
    int n;

    cout<<"Input number of numbers: "<< endl;
    cin>> n;
    cout<<"Input numbers: "<< endl;
    for (int i=0; i<n; i++)
    {
        cin>>a[i];
        sum=sum+a[i];

    }

    
    for (i=2; i<n; i+3){
    
    a[i]=sum/n;
    cout<<a[i];
    
    }

    for (i=0; i<n; i++)
    {
        cout<<a[i]<<" ";

    }
    
    return 0;
}
Старый 02.01.2012, 22:18
Doc

offline
Опыт: 63,163
Активность:
Arti, есть вообще-то понятие бесконечного цикла омфг, это
while(true)
for(;;)
или
while(1) // вроде.

Отредактировано Doc, 02.01.2012 в 22:48.
Старый 02.01.2012, 22:36
Arti

offline
Опыт: 11,196
Активность:
Doc, приведи пример со вводом числел, а то я ничего не понял)
Старый 02.01.2012, 22:38
Doc

offline
Опыт: 63,163
Активность:
Я сей не знаю, пишу на шару.
while(1){
	string val;
	cin >> val;
	if (val == "end")
		break;
	stringstream ss(val);
	int i;
	ss >> i;
        sum += i;
}
Старый 02.01.2012, 22:42
spellwerk

offline
Опыт: 4,869
Активность:
Чтение данных до конца входного потока:
#include <iostream>
...
// числа
int n;
while (std::cin >> n) {
   ...
}
// строки
std::string line;
while (std::getline(std::cin, line)) {
   ...
}
// символы
char c;
while (std::cin.get(c)) {
   ...
}
Старый 02.01.2012, 22:48
Arti

offline
Опыт: 11,196
Активность:
дак, а как мне сделать что бы после Enter всё закончилосЬ, у тебя оно бесконечноеее, мне надо так:
я ввожу:
1 2 3 4 5 6 нажимаю enter и в массиве
a[1] будет 1
a[2] будет 2
итд..
Старый 02.01.2012, 22:48
Doc

offline
Опыт: 63,163
Активность:
Arti, мне кажется, что тебе нужно все это бросить и заняться ландшафтным дизайном, ты даже банально не можешь прочитать код.
spellwerk, разве нельзя считывать строку так же как и число?
Старый 02.01.2012, 22:51
Arti

offline
Опыт: 11,196
Активность:
spellwerk,

int n;
while (std::cin >> n) {
a[i]=n;
i++;
}

нажимаю ентер и конец программы, дальше действия не выполяняються)


Док, так у тебя бесконечный ввод, пока не введёш end, такое не катит
Старый 02.01.2012, 22:52
Doc

offline
Опыт: 63,163
Активность:
Ну напиши не end, напиши \n не знаю, работает-ли такое в сях.
Старый 02.01.2012, 22:54
ZregerZ
Мы - лёд!
offline
Опыт: 7,029
Активность:
#include<cctype>
//...
temp_c = 0;
while(temp_c != '\n')
{
	do
	{
		scanf("%c", &temp_c);
	}
	while(!isdigit(temp_c) && temp_c != '\n');
	if(temp_c != '\n')
	{
		int temp_i = 0;
		while(isdigit(temp_c))
		{
			temp_i = temp_i*10 + temp_c - '0';
			scanf("%c", &temp_c);
		}
		//в temp_i - нужное число
	}
}

Отредактировано ZregerZ, 02.01.2012 в 23:16.
Старый 02.01.2012, 23:00
spellwerk

offline
Опыт: 4,869
Активность:
#include <iostream>

using namespace std;

#define BUF_LENGTH 256

int main(int argc, char** argv) {
    char buf[BUF_LENGTH];
    char* p;
    double s = 0, n = 0;
    cin.getline(buf,BUF_LENGTH);
    p = strtok(buf," ");
    while( p != NULL ) {
        s += atof(p);
        n++;
        p = strtok(NULL," ");
    }
    cout << s/n << endl;
    return 0;
}

Отредактировано spellwerk, 02.01.2012 в 23:23.
Старый 02.01.2012, 23:18
Arti

offline
Опыт: 11,196
Активность:
спасибо, но всё какоето страшное)
Старый 02.01.2012, 23:23
ScorpioT1000
Работаем
online
Опыт: отключен
cin >> val;
if (val == "end")
break;
жавадок детекдет.
cin.eof()
Старый 03.01.2012, 03:36
Ответ

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

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

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:46.