PDA

View Full Version : مبتدی: مشکل در چاپ کردن اعداد ورودی



cooboo
سه شنبه 03 شهریور 1394, 10:30 صبح
درود

دوستان توی قسمت چاپ کردن اعداد ورودی مشکل دارم نمیدونم چطوری عدد قبلی رو با عدد جدید کنار هم چاپ کنم

تمرین اصلی هم این هست که بخش اولش رو انجام دادم ولی از بخش دوم سر در نمیارم:
برنامه ای بنویسید که 5 عدد از ورودی بگیرد ، حاصل جمع آنها و خود اعداد را در خروجی چاپ کند .


#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int i,x,s=0;
i = 0;


do
{
cout << "put a number >" << '\t';
cin >> x;
s = s + x;
i++;

} while (i != 5);


cout << "sum = " << s << '\t' <<'\n';





return 0;
}

ehsan_faal
سه شنبه 03 شهریور 1394, 10:55 صبح
سلام.
منظورتون اینه؟

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

auto main()->int {

vector<double> numbers(5);
for (size_t index = 0; index < numbers.size(); index++) {
cout << "Please Enter " << index + 1 << "-th Number : ";
cin >> numbers[index];
}
auto sum = accumulate(numbers.begin(), numbers.end(), 0);
for (size_t index = 0; index < numbers.size() - 1; index++) {
cout << numbers[index] << " + ";
}
cout << numbers.back() << " = " << sum << endl;
return 0;
}



خروجی:

Please Enter 1-th Number : 1
Please Enter 2-th Number : 2
Please Enter 3-th Number : 3
Please Enter 4-th Number : 4
Please Enter 5-th Number : 5
1 + 2 + 3 + 4 + 5 = 15

cooboo
سه شنبه 03 شهریور 1394, 11:05 صبح
سلام.
منظورتون اینه؟

خروجی:

Please Enter 1-th Number : 1
Please Enter 2-th Number : 2
Please Enter 3-th Number : 3
Please Enter 4-th Number : 4
Please Enter 5-th Number : 5
1 + 2 + 3 + 4 + 5 = 15



بله خروجی به این شکل باشه ولی باید با استفاده از حلقه while یا do while نوشته بشه

و من با 99% این دستورات که نوشتید اشنایی ندارم در نتیجه نمیتونم توی سورس استفاده کنم :گریه:

ehsan_faal
سه شنبه 03 شهریور 1394, 11:16 صبح
بهتر اینه که امکاناتی که زبان در اختیارتون میذاره رو یاد بگیرید.
برنامتون خیلی کوتاهتر میشه ولی بهر حال:

#include <iostream>
using namespace std;
int main(){
double numbers[6];
size_t index = 0;
do{
cout<< "Please Enter "<<index + 1<<"-th Number : ";
cin>>numbers[index];
numbers[5]+=numbers[index];
index++;
}while(index < 5);
index = 0;
while(index < 4){
cout<<numbers[index]<<" + ";
index++;
}
cout<<numbers[4]<<" = "<<numbers[5]<<endl;

return 0;
}

cooboo
سه شنبه 03 شهریور 1394, 11:42 صبح
خیلی ممنون :قلب:

من تازه دارم اموزش میبینم و اشنایی ندارم با این دستورات

اگه میشه لطف کنید اون قسمت چاپ کردن اعداد ورودی رو توی سورس خودم جا بدید البته به شکل خیلی خیلی ساده تر

من قسمت اول برنامه رو حل کردم فقط به قسمت دومش نیاز دارم

الان من نمیدونم اون size_t چی هست :ناراحت:

یا نمیدونم کار اون index یا numbers چی هست :ناراحت:

ehsan_faal
سه شنبه 03 شهریور 1394, 12:26 عصر
size_t همون unsigned int (اگه اشتباه نکنم).
بعدش هم که من از یه آرایه 6 تایی استفادهکردم که پنج تای اول رو از ورودی مقدار میگیره و توی هر بار که یکی از خونه ها مقدار دهی میشن این مقدار با مقدار خونه آخر جمع میشه(پس آخر کار جمع اعداد رو هم داریم)
index هم که برای دسترسی به اعضای آرایه بکار رفته.آرایه ها از اندیس صفر شروع میشن.
من ساده تر از این نمیتونم حقیقتش.
فکر نمیکنم مشکل خاصی داشته باشید.
من به شما جواب رو دادم، حالا شما میتونید کدتون رو خودتون اصلاح کنید.