یه سوال درسی داشتم میشه کمکم کنید

kolber

New Member
یه سوال درسی داشتم - ما یه سری نوشته به صورت انگلیسی داریم که به صورت اتفاقی بعضی از حروف کوچیک و بزرگ شدن مثلا به جای Ali - شده aLI - میخواهیم برنامه به صورت خودکار در جملات بعد از هر فاصله ای اولین حرف کلمه بعد از فاصله رو بزرگ و مابقی را کوچیک کنید مثلا ALI شود Ali -- یا reza amad شود Reza Amad - میشه برنامشو به هرزبانی که میشه بهم بدید خیلی خیلی ممنون میشم
 

the_king

مدیرکل انجمن
یه سوال درسی داشتم - ما یه سری نوشته به صورت انگلیسی داریم که به صورت اتفاقی بعضی از حروف کوچیک و بزرگ شدن مثلا به جای Ali - شده aLI - میخواهیم برنامه به صورت خودکار در جملات بعد از هر فاصله ای اولین حرف کلمه بعد از فاصله رو بزرگ و مابقی را کوچیک کنید مثلا ALI شود Ali -- یا reza amad شود Reza Amad - میشه برنامشو به هرزبانی که میشه بهم بدید خیلی خیلی ممنون میشم

مثال #C اش :
کد:
            string text = textBox1.Text;
            StringBuilder output = new StringBuilder();
            bool capital = true;
            foreach (char ch in text)
            {
                if (capital)
                {
                    output.Append(char.ToUpper(ch));
                    capital = false;
                }
                else
                {
                    output.Append(char.ToLower(ch));
                }
                if (char.IsLetterOrDigit(ch) == false)
                {
                    capital = true;
                }
            }
            textBox1.Text = output.ToString();

مثال VB.NET اش :
کد:
        Dim text As String = TextBox1.Text
        Dim output As New System.Text.StringBuilder
        Dim capital As Boolean = True
        For Each ch As Char In text
            If capital Then
                output.Append(Char.ToUpper(ch))
                capital = False
            Else
                output.Append(Char.ToLower(ch))
            End If
            If Char.IsLetterOrDigit(ch) = False Then
                capital = True
            End If
        Next
        TextBox1.Text = output.ToString()

مثال ++C اش :
کد:
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    char s[100];
    cin.getline(s, 100);
    int capital = 1;
    for (int i = 0;s[i];i++)
    {
        if (capital)
        {
            if ((s[i] >= 'a') && (s[i] <= 'z'))
            {
                s[i] -= 32;
            }
            capital = 0;
        }
        else
        {
            if ((s[i] >= 'A') && (s[i] <= 'Z'))
            {
                s[i] += 32;
            }
        }
        if (((s[i] <= '0') || (s[i] >= '9'))
            && ((s[i] <= 'A') || (s[i] >= 'Z'))
            && ((s[i] <= 'a') || (s[i] >= 'z')))
        {
            capital = 1;
        }
    }
    cout << s;
    getch();
    return 0;
}

پروژه و فایل اجرایی سه مثال :
مشاهده پیوست CapitalWords.zip
 

jeyson

Active Member
من نمی دونم از چه زبانی استفاده می کنید اما در php می توان از 2 تابع زیر استفاده کرد!
مشاهده کنید :

[PHPS]<?php

/**
* @author JEYSON
* @copyright 2013
*/
$ts = 'rEzAaA jEySoN';
$str1 = strtolower($ts);
$str2 = ucwords($str1);
echo $str2;


?>[/PHPS]
 

kolber

New Member
فقط برای سی پلاس پلاس میخوام - اینو برنامرو وقتی اجرا میخوام بکنم خط اول و سومو ارور میده به نظرتون از چیه ؟ ممنون
 
آخرین ویرایش:

the_king

مدیرکل انجمن
فقط برای سی پلاس پلاس میخوام - اینو برنامرو وقتی اجرا میخوام بکنم خط اول و سومو ارور میده به نظرتون از چیه ؟ ممنون

بعضی از کامپایلر ها فقط <include <iostream# رو قبول می کنند و بعضی هاشون <include <iostream.h# (بعضی با پسوند h. و بعضی بدون پسوند h. رو قبول می کنند)
بعضی از کامپایلر ها به وجود ;using namespace std نیاز دارند و بعضی هاشون قبول اش نمی کنند (در بعضی کامپایلر ها باید اون سطر using حذف بشه)
 

kolber

New Member
ممنون از کاری که واسم انجام دادید - یه سوال دیگه داشتم اگه واسم انجام بدید خیلی ممنون میشم -ما تعدای نقطه در فضا داریم میخواهیم نقاط زوجی که بهم نزدیک هستند و رو پیدا کنیم - یعنی نقاط نزدیک به همو دو به دو مرتب کرده و در خروجی تحویل دهد - اسمش هم closet pair هست - با روش تقسیم و حل - کسی میتونه واسم انجام بده ؟ خیلی ممنون میشم
 

the_king

مدیرکل انجمن
ممنون از کاری که واسم انجام دادید - یه سوال دیگه داشتم اگه واسم انجام بدید خیلی ممنون میشم -ما تعدای نقطه در فضا داریم میخواهیم نقاط زوجی که بهم نزدیک هستند و رو پیدا کنیم - یعنی نقاط نزدیک به همو دو به دو مرتب کرده و در خروجی تحویل دهد - اسمش هم closet pair هست - با روش تقسیم و حل - کسی میتونه واسم انجام بده ؟ خیلی ممنون میشم

سوال دیگه تون مرتبط با موضوع این مبحث نیست، پس نباید در ادامه همین مبحث مطرح بشه. باید برایش یک مبحث جدید (تاپیک جدید) دیگه ای ایجاد کنید و جداگانه مطرح اش کنید.
رعایت کردن این نکته مربوط به قانون عمومی b4 مجید آنلاین ئه :
b4 - اگر چندین سوال دارید که بهم مربوط نیستند، در مبحث های جداگانه مطرح شان کنید.
زمانی که چند سوال را در یک مبحث مطرح می کنید نمی توانید یک عنوان دقیق و با جزئیات انتخاب نمایید،در نتیجه ناچار می شوید که از یک عنوان نامناسب مثل "چند سوال در مورد فتوشاپ" استفاده کنید که خیلی مبهم و کلی است و مشخص کننده موضوع سوال شما نخواهد بود.
 

جدیدترین ارسال ها

بالا