SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Olympiad گفت
SABB گفت
Olympiad گفت
چيكار كنم كه درست شه؟!
تو اون خط منظورتون چی بوده؟
كدوم خط؟!!؟ من خواستم بگم كه اون رشته رو در h[r] بريزه!!!!!!!!
حالا يخوام درستش كنم بايد چيكار كنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
آها! فهمیدم!
ولی هر خونه ی یه رشته فقط یه کاراکتر می پذیره. h[r] هم فقط توانایی ذخیره کردن یه کاراکتر رو داره.
برای این کار باید از رشته ی دوبعدی استفاده کنید بعد تو هر سطرش a رو کپی کنید. البته با h[r]=a نمی شه این کار رو انجام داد. باید از strcpy(); استفاده کنید.
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
SABB گفت
Olympiad گفت
SABB گفت
Olympiad گفت
چيكار كنم كه درست شه؟!
تو اون خط منظورتون چی بوده؟
كدوم خط؟!!؟ من خواستم بگم كه اون رشته رو در h[r] بريزه!!!!!!!!
حالا يخوام درستش كنم بايد چيكار كنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
آها! فهمیدم!
ولی هر خونه ی یه رشته فقط یه کاراکتر می پذیره. h[r] هم فقط توانایی ذخیره کردن یه کاراکتر رو داره.
برای این کار باید از رشته ی دوبعدی استفاده کنید بعد تو هر سطرش a رو کپی کنید. البته با h[r]=a نمی شه این کار رو انجام داد. باید از strcpy(); استفاده کنید.
من تا حالا با اين توابع كار نكردم (اشنا نيستم !!!)......خودت كد اصلاح شده رو بذار ابنجا............
ممنون
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
راجع به تابع strcpy(char s1[], char s2[])i ؛ این تابع رشته ی s2 رو تو s1 کپی میکنه.
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
تا جایی که من متوجه شدم فکر کنم فرق کدامون اینه که 1- من دو تا تابع اضافی تعریف کردم 2- از فایل خوندم
ولی برای تصحیح باید h رو یه رشته دوبعدی تعریف کرد.
پ.ن.
کد
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main()
{
    int t,z;
    scanf("%d",&t);
    start:
		int u=0,r=0,n;
		scanf("%d",&n);
		int g[2*n];
		char h[n][n];
		for(int i=1;i<=n;i++)
		  {
			   char a[40];
			   gets(a);
			   strcpy(h[r],a);
			   int m,n;
			   scanf("%d%d",&m,&n);
			   g[u]=m;
			   g[u+1]=n;
			   r+=1;
			   u+=2;
		  }
			  int maxq=0,p,k,max1=0;
			  for(p=0;p<2*n&&p%2==0;p++)
			   if(maxq<g[p])
			    maxq=g[p];
			  for(int y=1;y<2*n&&y%2==1;y++)
			   if(max1<g[y])
			    max1=g[y];
			  int lim=max1; 
			  for(int t=1;t<2*n&&t%2==1;t++)
			   if(lim>g[t])
			    lim=g[t]; 
			  if(lim!=g[p+1])
			   printf("No team");
			  else
			   printf("%s",h[p]);
			  for(z=1;z<=t;z++)
			   goto start;
			  end:
			  getch();
			  return 0;
    }
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
من یه کار کردم Compile شه! فکر کنم یه جاهایی اشکال داره..؟!
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
من كه نفهميدم كدم چه مشكلي داره.اگه كسي فهميد بگه...............فعلا خداحافظ......

کد
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main()
{
    int t,z;
    scanf("%d",&t);
    start:
		int u=0,r=0,n,i;
		scanf("%d",&n);
		int g[2*n];
		char h[n][n];
		for(i=1;i<=n;i++)
		  {
			   char a[41];
			   gets(a);
			   strcpy(h[r],a);
			   int m,q;
			   scanf("%d%d",&m,&q);
			   g[u]=m;
			   g[u+1]=q;
			   r++;
			   u++;
			   u++;
		  }
			  int maxq=0,p,k,max1=0,e;
			  for(p=0;p<2*n&&p%2==0;p++)
			   {
			    if(maxq<g[p])
				{
				  maxq=g[p];
				  e=p;
				}
			    }
			  for(int y=1;y<2*n&&y%2==1;y++)
			   if(max1<g[y])
			    max1=g[y];
			  int lim=max1;  
			  for(int t=1;t<2*n&&t%2==1;t++)
			   if(lim>g[t])
			    lim=g[t];  
			  if(lim!=g[e+1])
			   printf("No team");
			  else 
			   printf("%s",h[e/2]);
			  for(z=1;z<=t;z++)
			   goto start; 
			  end: 
			  getch();
			  return 0;
    }
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
[center:4b16e3da4a]
[/center:4b16e3da4a]
این کد منه ولی یکم ورودی ها رو تغییر دادم(هر کار کردم مثل اون در نیومد!)

ورودی به این صورت هست:

اول تعدد مجموعه ها

{برای هر مجموعه:

اول تعداد تیم های مجموعه

بعد تیم ها

بعدش امتیازات رو می خواد

تمام.}


کد
2
3
reza
ali
hesam

reza score eror:  6 4
ali score eror:  7 3
hesam score eror:  6 5
__________________________

ali

2
javad
hasan

reza score eror:  7 9
ali score eror:  20 9
_________________________

No team!

کد من


راستی از فایل هم نمی خونه ورودی و خروجی استاندارده.

 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
[center:5285872981]

[/center:5285872981]الف)برنامه ای بنویسید که با آرایه و بدون آرایه n و سپس n عدد طبیعی گرفته و ک.م.م آن ها را حساب کند.

ب)برنامه ای بنویسید که یک جمله از کاربر گرفته و تعداد کلمات که با خط فاصله جدا شده اند را بشمارد.

[center:5285872981]به طور مثال در جمله this is a question تعداد کلمات 4 تاست.[/center:5285872981]
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
[center:3f56cb4178]35
الف:
کد
#include <iostream>
using namespace std;

int gcd(int a, int b)
{
    int r=1;
    while(r!=0)
    {
			r = a%b;
			a = b;
			b = r;
    }
    return a;
}

int main()
{
    int n, a, b;
    cin >> n;
    cout << "Enter num#1: ";
    cin >> a;
    for(int i=1; i<n ;i++)
    {
		  cout << "Enter num#" << i+1 << ": ";
		  cin >> b;
		  a= a*b / gcd(a,b);
    }
    cout << a;
    cin.get();
    cin.get();
    return 0;
}
ب:
کد
#include <iostream>
using namespace std;

int main()
{
    char s[1000];
    int i=0, j=0;
    gets(s);
    while(s[i]!=0)
    {
			   if((s[i]!=9)&&(s[i]!=32))
			   {
								   j++;
								   while((s[i]!=9)&&(s[i]!=32)) i++;
			   }
			   while((s[i]==9)||(s[i]==32)) i++;
    }
    cout << j;
    cin.get();
    return 0;
}

[/center:3f56cb4178]



 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
[center:cae78a93e5]
[/center:cae78a93e5]
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
من يه چيزي از سوال 36 نفهميدم!!!!!!!!!!! مثلا ميگه 1 امتياز كم ميكنه يا 2 امتياز يا........ اونوقت اين امتيازها رو از چه عددي كم مي كنه!؟!؟
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Olympiad گفت
من يه چيزي از سوال 36 نفهميدم!!!!!!!!!!! مثلا ميگه 1 امتياز كم ميكنه يا 2 امتياز يا........ اونوقت اين امتيازها رو از چه عددي كم مي كنه!؟!؟
اون مهم نیست! چون فقط مقدار امتیاز منفی مورد نیازه.
پ.ن. چرا کسی تو ماراتن Project Euler شرکت نمی کنه؟
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
حل سول 36

[center:5584d8a94c]
[/center:5584d8a94c]
سوال خیلی خوبی بود
. 2 ساعت وقتم رو گرفت ولی ارزششو داشت چون حداقل یکم آرایه یاد گرفتم.


فقط یه چیزی رو لحاظ نکردم این که اگه هیچکدوم نباشه 2 برابر منفی می شه.!



[center:5584d8a94c] کد من
[/center:5584d8a94c]
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
SABB گفت
Olympiad گفت
من يه چيزي از سوال 36 نفهميدم!!!!!!!!!!! مثلا ميگه 1 امتياز كم ميكنه يا 2 امتياز يا........ اونوقت اين امتيازها رو از چه عددي كم مي كنه!؟!؟
اون مهم نیست! چون فقط مقدار امتیاز منفی مورد نیازه.
پ.ن. چرا کسی تو ماراتن Project Euler شرکت نمی کنه؟
من احساس می کنم سوالاش باید با آرایه حل بشه!!

اگه با راهی به جز آرایه حل می شه بگو تا روش فکر کنم.
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
فکر کنم کدم یکم مشکل داره


بی خیال سوال بعدی رو بذارید.(لطفا زیاد آرایه نویسی نداشته باشه)
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
راست میگید... تقریبا همه ی سوالات Project Euler آرایه ای هستن!
یه سوال دیدم که هنوز حلش نکردم، ولی به نظر می رسه چیزی بیشتر از آرایه یه بعدی نمی خواد... این سوال بعدی باشه؟!
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
SABB گفت
راست میگید... تقریبا همه ی سوالات Project Euler آرایه ای هستن!
یه سوال دیدم که هنوز حلش نکردم، ولی به نظر می رسه چیزی بیشتر از آرایه یه بعدی نمی خواد... این سوال بعدی باشه؟!
ترجمش کنید ، هرچند فکر نکنم زیاد ساده باشه!!
 
بالا