PDA

View Full Version : سوال: در خواست کمک برای رفع ایراد برنامه



newtabriz
یک شنبه 02 آذر 1393, 20:44 عصر
با سلام استاد ما برامون یدونه برنامه گفته تا بنویسیم من تا خدیشو نوشتم اما به خوبی کار نمی کنه عنوان برنامه اینه:
برنامه ایی بنویسید که یک آرایه 10 عنصری را از ورودی بخواند اعداد کامل را تبدیل به صفر کرده و نتیجه را در خروجی چاپ کند


کدی که من نوشتم: فایل ضمیمه شد.
125982

لطفا راهنماییم کنید ممنون از لطفتون کد درست کار نمی کنه...
منتظرم

sa1378
یک شنبه 02 آذر 1393, 21:54 عصر
اعداد کامل چه حاصیتی دارن؟

rm classic
یک شنبه 02 آذر 1393, 22:02 عصر
برای پیوست هدر iostream نباید .h بذارید و قبل از تابع main کد ;using namespace std رو بذارید
برای حلقه های for هم آخرشون نباید ; گذاشت و بهتره متغیر ها رو بیرون حلقه ایجاد کنید
اینم کد اصلاح شدشه:
#include<iostream>#include <conio.h>
using namespace std;
void main()
{
int a[10], sum = 0,i=0,k;
for (i = 0; i<10; i++)
cin >> a[i];
for (i = 0; i<10; i++)
{
sum = 0;
for (k = 1; k <= a[i] % 2; k++)
if (a[i] % k == 0)
sum = sum + k;
if (a[i] == sum)
a[i] = 0;
}
for (i = 0; i<10; i++)
cout << a[i] << " ";
_getch();
}
ولی اعداد کامل رو به صورت 0 نشون نمیده

aliv.2022
دوشنبه 03 آذر 1393, 11:13 صبح
برنامه چند تا مشکل داشت
یکی این که شرط حلقه باید a[i]/2 باشه نه %2!
توی حلقه هم بهتره متغیرش رو همن داخل حلقه تعریف کنی که بعدا مشکلی پیش نیاد (i ها با هم قاطی نشن!) البته اینجا مشکلی پیش نمیومد!

#include<iostream>
#include <conio.h>
using namespace std;
void main()
{
int a[10], sum;
for (int i = 0; i<10; i++)
cin >> a[i];
for (int i = 0; i < 10; i++)
{
sum = 0;
for (int k = 1; k <= a[i] / 2; k++)
if (a[i] % k == 0)
sum = sum + k;
if (a[i] == sum)
a[i] = 0;
}
for (int i = 0; i<10; i++)
cout << a[i] << " ";
_getch();
}